1

PageIndexChangingC#でGridViewページングを処理するためにイベントを使用しています。しかし、そこでPageSize / PageNumber/PageCountを使用する方法がわかりません。言い換えれば、私のコードは常にすべてのデータを返すことを余儀なくされています。次のコードに注意してください。

protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
        grdList.PageIndex = e.NewPageIndex;
        grdList.DataSource = MyGetData();
        grdList.DataBind();
}

では、このコードで実際のページングをどのように使用できますか?

MyGetData過負荷が発生することにPageIndex注意してくださいPageSize

アップデート

私も設定PageSizeして有効にしAllowPagingました。宣言型データバインディングを使用する場合は、すべてのデータのカウントをGridViewに提供する必要があることを知っています。問題は、このメソッドでカウントをどのように使用できるかです。

UPDATE2 私が必要とするようなことは不可能のようです。データソース制御なしの効率的なGridviewページングの問題を参照してください。

4

4 に答える 4

1

GridView での効率的なページングにはデータの数が必要です。それ以外の場合、GridView は各ページのすべてのデータを読み込みます。DataSource コントロールを使用しない場合、GridView にデータの数を伝える方法がないため、DataSource コントロールを使用せずに GridView で効率的なページングを行うことは不可能です。詳細については、このリンクこのリンクにアクセスしてください。

于 2010-09-24T13:26:02.040 に答える
0

GridViewコントロールでPageSizeを設定できます。

于 2010-09-23T12:44:36.700 に答える
0

設定する必要がありますPageSize="10"

このリンクを参照してください: http://www.dotnetspider.com/resources/1249-Grid-View-Paging-Sorting.aspx

于 2010-09-23T12:46:42.873 に答える
0

MyGetDataメソッドがすでに pageindex と pagesize を受け入れている場合、必要なのは次のとおりです。

protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    grdList.PageIndex = e.NewPageIndex;
    grdList.DataSource = MyGetData(e.NewPageIndex, grdList.PageSize);
    grdList.DataBind();
}

しかし、これは少し単純すぎるように見えるので、おそらくここで何かが欠けています。

于 2010-09-23T17:18:52.223 に答える