asp ページで sql データソースを使用して作成されたグリッドがあります。そのため、ソートはビルド コントロールで asp.net を使用して自動的に行われます (vb.net でソートするためのコードは追加されません)。
しかし、ページを更新したり、別のページに移動すると、並べ替え順序が消えます。
前の並べ替え順序 (並べ替え方向と並べ替え式) をキャッチする方法はありますか?
asp ページで sql データソースを使用して作成されたグリッドがあります。そのため、ソートはビルド コントロールで asp.net を使用して自動的に行われます (vb.net でソートするためのコードは追加されません)。
しかし、ページを更新したり、別のページに移動すると、並べ替え順序が消えます。
前の並べ替え順序 (並べ替え方向と並べ替え式) をキャッチする方法はありますか?
ページイベントでは、とプロパティPreRender
の現在の値を次のように保存します。GridView.SortDirection
GridView.SortExpression
Session
this.Session[this.GetType().FullName + ".GridView.SortDirection"] = this.GridView.SortDirection;
this.Session[this.GetType().FullName + ".GridView.SortExpression"] = this.GridView.SortExpression;
ページInit
イベントで次のコードを実行します。
if (!this.IsPostBack && this.Session.Contains(this.GetType.FullName + ".GridView.SortDirection"))
{
this.GridView.SortDirection = (SortDirection)this.Session[this.GetType().FullName + ".GridView.SortDirection"];
this.GridView.SortExpression = (string)this.Session[this.GetType().FullName + ".GridView.SortExpression"];
}