asp ページで sql データソースを使用して作成されたグリッドがあります。そのため、ソートはビルド コントロールで asp.net を使用して自動的に行われます (vb.net でソートするためのコードは追加されません)。
しかし、ページを更新したり、別のページに移動すると、並べ替え順序が消えます。
前の並べ替え順序 (並べ替え方向と並べ替え式) をキャッチする方法はありますか?
asp ページで sql データソースを使用して作成されたグリッドがあります。そのため、ソートはビルド コントロールで asp.net を使用して自動的に行われます (vb.net でソートするためのコードは追加されません)。
しかし、ページを更新したり、別のページに移動すると、並べ替え順序が消えます。
前の並べ替え順序 (並べ替え方向と並べ替え式) をキャッチする方法はありますか?
ページイベントでは、とプロパティPreRenderの現在の値を次のように保存します。GridView.SortDirectionGridView.SortExpressionSession
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"];
}