0

グリッドビューがあり、ページングを使用しています

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
   GridView1.PageIndex = e.NewPageIndex;
   this.BindData();
}

問題は、ヘッダーをクリックしてグリッドビューをソートし、2 番目のページに移動してから最初のページに戻ると、ソート式の DESC または ASC が記憶されていないことです。

クリックしたページインデックスに関係なく、ソートされている方向を保持するにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

1

ViewStateを使用して、ここまたはここのようにSortDirectionを保存します。

メソッドがデータソースもロードする必要がある場合BindDataは、このSortDirectionでデータソースを並べ替える必要があります。BindDataSortDirectionとPageIndexをパラメーターとして受け取るように変更します。

例えば:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
   this.BindData(this.SortDirection,e.NewPageIndex); //if SortDirection is a property that returns the ViewState value
}

次に、グリッドのデータソースを並べ替え、それに応じてそのページインデックスを設定します。

于 2011-10-12T22:00:37.053 に答える