Возможно ли вставить пользовательскую информацию в пейджер GridView?

Можно ли вставить информацию в пейджер сетки, например «Показано 10 из 55 элементов (вы находитесь на странице 3)», и привязать эту информацию в соответствии с фактическими свойствами PageCount и PageSize?

Я могу думать только о том, чтобы сделать это вне пейджера, даже вне GridView.


person citronas    schedule 04.03.2010    source источник


Ответы (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);
    }

Я только что соединил некоторые фрагменты своего кода здесь, поэтому я не знаю, работает ли этот фрагмент кода, но он должен дать вам хорошее представление о том, как вы можете переопределить метод InitializePager! :-)

person Pieter Nijs    schedule 04.03.2010