0

「55 個中 10 個のアイテムを表示しています (3 ページ目)」のような情報をグリッドビューのページャーに挿入し、その情報を実際の PageCount および PageSize プロパティにバインドすることはできますか?

GridViewの外であっても、ページャーの外でそれを行うことしか考えられません。

4

1 に答える 1

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次に、 -methodをオーバーライドできます。

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-method をオーバーライドする方法については良い指標になるはずです! :-)

于 2010-03-04T16:32:23.480 に答える