

| com exemplos em VB |
| Componente para deixar forms em Vb semelhantes às telas do winnamp |
| Componente para colocar sua aplicação VB no Systray |
| Componente para transformar sua aplicação VB em serviço |
| Ferramentas úteis para quem usa Olap Server |
| |

![]() |
||||||||
|
|
||||||||
Por Dennes
Torres dennes@bufaloinfo.com.brDennes Torres possui as certificações MCAD, MCSD,MCSE, MCDBA e MCT. Atualmente atua Como diretor da Búfalo Informática, líder do grupo de usuários DevASPNet no Rio de Janeiro e membro da liderança dos grupos getWindows e devSQL, também do Rio de Janeiro, podendo sempre ser encontrado na lista de discussão do grupo DevASPNet (devaspnet-subscribe@yahoogrupos.com.br) bem como nas reuniões do grupo. Mantém dois blogs em http://cidadaocarioca.blogspot.com |
|
|
|
|
| Personalizando a paginação na GridView | |
|
|
|
Veja o que podemos fazer no PagerStyle :

Mas nem sempre as personalizações feitas através do PagerStyle são suficientes, muitas vezes desejamos algo ainda mais personalizado.
Para isso a GridView possui um PagerTemplate, um template para a área de paginação.
Então vamos utilizar o pagerTemplate para montar um paginador personalizado.
1) Clique com o botão direito na GridView e peça para editar o PagerTemplate

2) Insira 4 botões, cmdFirst,cmdPrev,cmdNext,cmdLast, configure os textos como preferir
3) Configure o CommandName dos botões como Page
4) Configure a propriedade CommandArguments de cada um dos botões respectivamente como First,Prev,Next e Last . Através do CommandArguments a gridView identificará o que cada botão irá realizar.
Você já pode testar, não é necessária nenhuma codificação, a gridView reconhece os botões e realiza as tarefas de cada um.
5) Insira no template uma textbox e mais um botão
6) Ao lado da textbox escreva " de " e insira um label. Na textbox mostraremos a página atual, no label mostraremos o total de páginas.
7) Para preencher a textbox e o label devemos codificar ou recorrer as tags HTML. Vamos recorrer as tags. No objeto TextBox, insira na tag Text="<% # Gridview1.pageindex + 1 %>" . É necessário somar 1 pois pageIndex começa em 0
8) No label insira o seguinte atributo : Text="<% # Gridview1.Pagecount %>" . Tome cuidado para não deixar dois atributos Text no label.
9) Programe o click do botão para fazer a mudança de página. Veja o código abaixo :
Protected Sub cmdIrPara_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim txt As TextBox
txt = GridView1.BottomPagerRow.FindControl("txtPagina")
If txt.Text = GridView1.PageIndex + 1 Then
'O usuário pode ter alterado a caixa
'superior ou inferior
txt = GridView1.TopPagerRow.FindControl("txtPagina")
End If
GridView1.PageIndex = txt.Text - 1
GridView1.DataBind()
End Sub
Observe que temos uma propriedade na gridview para acessarmos a linha inferior do paginador e outra para acessar a linha superior. Prevendo a possibilidade dos dois estarem sendo exibidos ao mesmo tempo, acrescentei um teste para identificar onde o usuário realmente digitou o número da nova página.
Pronto, temos um paginador totalmente personalizado.

Veja abaixo os comentários já enviados :
| Nome : Carlos Eduardo | E-Mail : edu_barros@hotmail.com |
| Fala Dennes, achei muito legal esse lance de customizar a paginação do grid, gostaria de saber de você se existe uma forma de fazer a memsa coisa com o componente "DATALIST" já que ele não tem um método paginar, como acontece com o gridview :(. Abraços. |
|
| Nome : DOUGLAS | E-Mail : douglas_savioli@westpharma.com |
| Olah, muito bom este seu artigo. Mas eu queria saber como faço na paginação através de números, na página atual o número ficar em vermelho como acontece no google. obrigado |
|
| Nome : Fernanda | E-Mail : fvignoto@yahoo.com.br |
| muito bom esse artigo. Mas gostaria de saber se há como deixar em negrito a pagina atual. Obrigada |
|
| Nome : Rafael | E-Mail : rafael.vsm@gmail.com |
| Dennes, Não consegui fazer funcionar, ocorre um erro de com EnableEventValidation, mas se eu desabilito esta propriedade não dá erro mas também não funciona. Pode estar ocorrendo devido a estar dentro de uma master page?. Aguardo Contato Obrigado |
|
| Nome : Eremim | E-Mail : micromanuty@micromanuty.com.br |
| isso só é possivel utilizando SqlDataSource? | |