是否可以将信息插入到 gridview 的寻呼机中,例如“显示 55 个项目中的 10 个(您在第 3 页)”并将该信息相应地绑定到实际的 PageCount 和 PageSize 属性?
我只能想到在寻呼机之外,甚至在 GridView 之外。
您可以使用 PagerTempate 属性:
<asp:GridView Id="MyGridView" runat="server" AllowPaging="true">
<PagerTemplate>
<asp:LinkButton CommandName="Page" CommandArgument="First" ID="lbFirst" runat="server">First</asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Prev" ID="lbPrev" runat="server"><</asp:LinkButton>
[Items <%= MyGridView.PageIndex * MyGridView.PageSize %> - <%= MyGridView.PageIndex * MyGridView.PageSize + MyGridView.PageSize - 1 %>]
<asp:LinkButton CommandName="Page" CommandArgument="Next" ID="lbNext" runat="server">></asp:LinkButton>
<asp:LinkButton CommandName="Page" CommandArgument="Last" ID="lbLast" runat="server">>></asp:LinkButton>
</PagerTemplate>
...
您还可以制作继承自标准 Griview 的自定义 Griview。然后你可以覆盖InitializePager
- 方法:
protected override void InitializePager(GridViewRow row, int columnSpan, PagedDataSource pagedDataSource)
{
TableCell pagerCell = new TableCell();
pagerCell.ColumnSpan = columnSpan;
LinkButton linkFirst = new LinkButton();
linkFirst.ToolTip = "Go to first page";
linkFirst.CommandName = "Page";
linkFirst.CommandArgument = "First";
pagerCell.Controls.Add(linkFirst);
row.Cells.Add(pagerCell);
}
我刚刚在这里粘贴了一些我的代码,所以我不知道这个代码片段是否有效,但它应该可以很好地说明如何覆盖InitializePager
- 方法!:-)