É possível inserir informações personalizadas no GridView Pager?
Pergunta
É possível inserir informações no pager do gridview, como "Mostrando 10 de 55 itens (você está na página 3)" e vincular essas informações de acordo com as propriedades reais PageCount e PageSize?
Só consigo pensar em fazer isso fora do pager, mesmo fora do GridView.
Solução
Você pode usar a propriedade 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>
...
Você também pode criar seu Griview personalizado, que herda do Griview padrão.Então você pode substituir o InitializePager
-método:
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);
}
Acabei de colar alguns pedaços do meu código aqui, então não sei se esse trecho de código funciona, mas deve fornecer uma boa indicação de como você pode substituir o InitializePager
-método!:-)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow