一旦您有了 SQL 请求/选择命令,您将获得一个页面,您将需要创建一个自定义寻呼机来执行此操作。然后在与您在寻呼机中的按钮/下拉菜单或其他控件相关的事件中,您将调用您的 SQL 命令。请参阅以下内容了解如何为 WebDataGrid 实现自定义寻呼机:
http://help.infragistics.com/NetAdvantage/ASPNET/2012.1/CLR4.0/?page=WebDataGrid_Using_Custom_Paging_Template.html
通过代码自定义寻呼机:
http ://help.infragistics.com/NetAdvantage/ASPNET/2012.1/CLR4.0/?page=WebDataGrid_Using_Custom_Paging_Template_in_Code.html
为 WebHierarchicalDataGrid 执行此操作与父带区相同。对于孩子,你会想要为那个乐队而不是父乐队的行为做这件事。
现在,如果您不想在寻呼机中使用按钮和/或下拉菜单,而是想要链接(1、2、3、4 等),可以通过在代码中执行以下操作来完成:
private class CustomItemTemplate : ITemplate
{
#region ITemplate Members
public void InstantiateIn(Control container)
{
for (int i = 0; i < 3; i++)
{
LiteralControl link = new LiteralControl();
//class for current page: igg_PageCurrent
//class for other pages: igg_PageLink
link.Text = "<span class='igg_PageLink' idx='" + i.ToString() + "'>" + (i+1).ToString() + "</span>";
container.Controls.Add(link);
}
}
#endregion
}
protected void Page_PreInit(object sender, EventArgs e)
{
whdg1.Behaviors.Paging.PagerTemplate = new CustomItemTemplate();
}
但真正的问题是,以这种方式从数据库中获取数据时,您只能为一页获取足够的数据,因此网格不知道数据库中有多少页。所以你要么需要知道如何找到它,要么只知道它。这也将使子带的实现更加困难,因为您需要知道每一行可以扩展多少子记录或记录页。