0

USerControl に DataGrid があります。どういうわけかページングが機能しません。ページングには適切な量のページがありますが、数字をクリックしても機能しません...ページ1にとどまります.これは私のグリッドです:

<asp:DataGrid ID="DG_Grid" runat="server" AllowPaging="True" PageSize="10" EnableViewState="True"
            AllowSorting="False" DataKeyField="DUEDATE" OnItemDataBound="DG_Grid_ItemDataBound" OnItemCommand="DG_Grid_ItemCommand">

アイデアはありますか?

4

3 に答える 3

0

ユーザーコントロールのデータグリッドは、ページまたはユーザーコントロール自体にバインドされていますか? それらをページにバインドし、ページで並べ替えると思います。そのため、UserControl から PageIndexChanged イベントを発生させ、ページで処理する必要があります。

この例は GridView の場合ですが、DataGrid の場合も同じです。

UserControl で、ページで処理するイベントを定義します。

    Public Event GridPageChanged(ByVal grid As GridView)

    Private Sub GridView1_PageIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.PageIndexChanged
        RaiseEvent GridPageChanged(Me.GridView1)
    End Sub

ページでユーザーコントロールの GridPageChanged をキャッチして、並べ替えを実行できるようになりました。

于 2010-05-05T12:50:23.403 に答える
0

次のように使用します。

 private void FillGrid(int aPageNumber)
    {
       //Insert you code here


        DG_Grid.DataSource = _ds.Tables[0].DefaultView;
        DG_Grid.PageIndex = aPageNumber;
        DG_Grid.DataBind();
    }

そして、この後、グリッドのこのイベントを呼び出します

 protected void DG_Grid_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        FillGrid(e.NewPageIndex);
    }

ロード呼び出し時:

 FillGrid(0);
于 2013-07-16T09:55:26.517 に答える
0

PageIndexChanged イベントを処理しましたか? 詳しくはこちらをご覧ください。

于 2010-05-05T12:27:17.423 に答える