2

巨大なデータベースから読み取るときにページングを実装しようとしています。ユーザーがウィンドウの外のページに移動すると、次のレコードのセットを取得し、9 ~ 10 ページのテーブルにデータを入力します。問題は、データ ソースを更新した後、PageIndex を 0 にリセットできず、更新後も最後のページに残っていることです。私のコードは次のとおりです。

protected void AccountQueueGrid_PageIndexChanged(object sender, Telerik.Web.UI.GridPageChangedEventArgs e) 
{
int newWindowNumber = currentWindowNumber() + ( e.NewPageIndex / (windowSize / PageSize));
            if (newWindowNumber != currentWindowNumber())
            {
                PopulateAccountQueueGrid(newWindowNumber, true);
                AccountQueueGrid.CurrentPageIndex = 0;
                AccountQueueGrid.Rebind();

            }
}

PopulateAccountQueueGrid は新しいデータを取得し、DataSource として設定し、DataBind も呼び出します。その部分はうまく機能します。ただし、CurrentPageIndex を設定してから再バインドしても、0 にリセットされません。AccountQueueGrid.MasterTableView.CurrentPageIndex も設定しようとしましたが、機能しません。

AllowPaging と EnableViewState は true に設定されています。

4

1 に答える 1