可以将自定义信息插入 GridView 寻呼机吗?

Posted

技术标签:

【中文标题】可以将自定义信息插入 GridView 寻呼机吗?【英文标题】:Insert custom information into GridView Pager possible? 【发布时间】:2010-03-04 16:08:12 【问题描述】:

是否可以将信息插入到 gridview 的分页器中,例如“显示 55 个项目中的 10 个(您在第 3 页)”并将该信息相应地绑定到实际的 PageCount 和 PageSize 属性?

我只能想到在寻呼机之外,甚至在 GridView 之外。

【问题讨论】:

【参考方案1】:

您可以使用 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">&lt;</asp:LinkButton>

      [Items <%= MyGridView.PageIndex * MyGridView.PageSize %> - <%= MyGridView.PageIndex * MyGridView.PageSize + MyGridView.PageSize - 1 %>]

      <asp:LinkButton CommandName="Page" CommandArgument="Next" ID="lbNext" runat="server">&gt;</asp:LinkButton>

      <asp:LinkButton CommandName="Page" CommandArgument="Last" ID="lbLast" runat="server">&gt;&gt;</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);
    

我刚刚在这里粘贴了我的一些代码,所以我不知道这段代码 sn-p 是否有效,但它应该可以很好地说明如何覆盖InitializePager-方法! :-)

【讨论】:

以上是关于可以将自定义信息插入 GridView 寻呼机吗?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET:如何为 GridView 创建自定义分页器?

如何将自定义sql附加到Spring Data JPA插入/更新

我可以将自定义对象发送到 Android Wear 吗?

如何在gridView的寻呼机列表中使用ButtonCssClass

ASP.Net GridView 寻呼机未显示正确的页码

如何设置 GridView 中显示的页码?