我在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">
想点什么?
答案 0 :(得分:0)
您是否处理过PageIndexChanged事件?有关详细信息,请参阅here。
答案 1 :(得分:0)
Usercontrols的Datagrid是否绑定在Page或Usercontrol本身?我认为你将它们绑定在页面中,然后你在页面中对它们进行排序。因此,您必须从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
您现在可以在页面中捕获usercontrol的GridPageChanged并进行排序。
答案 2 :(得分: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);