Usuário com melhor resposta
DataPager sem ListView ou GridView.

Pergunta
-
Boa noite!
Tenho um código mais ou menos assim:
CS
string divItem = string.Empty; string divImagem = string.Empty; foreach (Carousel img in dc.Carousels.ToList()) { divItem += @"<div class='texto'> <div class='item'>"; divImagem = @"<img src='"; divImagem += img.ImagemUrl + "' /> </div> "; divItem += divImagem; } divItensSite.InnerHtml = divItem + "</div>";
ASPX
<div id="divItensSite" runat="server" />
Vou percorrer todos os itens através de um Foreach e montar a estrutura das divs. Minha dúvida é a seguinte. Se o Foreach me retornar uns 50 itens, tem como eu criar um DataPager para os itens aparecerem de 10 em 10 e formar uma página com números?
EX:
[1] [2] [3] [4] [5]
OBS: Não posso usar ListView e nem GridView, pois o site é responsivo e esses componentes acabam "engessando" o site.
Agradeço pela ajuda.
Respostas
-
UCNavigationGridView é o nome de um componente Control! como é um exemplo ali tem botões!!!
e neles que você deve prestar atenção!
ButtonFirstEnabled = !model.IsFirstPage;
http://pagedlist.codeplex.com/ nesse link tem a classe que pagina seus resultado e ali no lugar da lista se tem que usar ele
assim:
int pagina = 1; // aqui é o controle que você deve guardar para saber qual é a próxima pagina ou voltar !!! List<string> lista = new List<string>(); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); var model = lista.ToPagedList(1, 5); foreach (String item in model) { } ButPrimeiro.Enabled = model.IsFirstPage; ButVoltar.Enabled = model.HasPreviousPage; ButAvancar.Enabled = model.HasNextPage; ButUltimo.Enabled = model.IsLastPage;
Perceba que o link passado tem o exemplo é só segui-lo !!!
Sorte!!!
- Sugerido como Resposta Fulvio Cezar Canducci Dias domingo, 23 de fevereiro de 2014 15:32
- Marcado como Resposta Giovani Cr quinta-feira, 27 de fevereiro de 2014 15:27
Todas as Respostas
-
Para Paginar use essa classe: http://pagedlist.codeplex.com/
Exemplo de código
IPagedList model = RepVendedor.QueryFast() .OrderBy(x => x.RazaoSocial) .ToPagedList(1, 10);
Ai ele pagina para você mas claro que você tem que colocar botões e usar o model para fazer isso
UCNavigationGridView.ButtonFirstEnabled = !model.IsFirstPage; UCNavigationGridView.ButtonBackEnabled = model.HasPreviousPage; UCNavigationGridView.ButtonNextEnabled = model.HasNextPage; UCNavigationGridView.ButtonLastEnabled = !model.IsLastPage; UCNavigationGridView.PageTotal = model.PageCount;
isso ai são os botões de controle são 4 !!!
- Editado Fulvio Cezar Canducci Dias sexta-feira, 21 de fevereiro de 2014 04:07
-
Olá amigo!
Tentei de diversas formas implementar o que você sugeriu, mas não consegui fazer funcionar, poderia me dar um exemplo? Vou simular uma situação de paginação, como ficaria implementando o IPagedList?
Supondo que eu tenha esse código e quisesse criar paginas de 5 em 5 produtos.
ASPX:
<div id="divHtml" runat="server" />
CS:
List<string> lista = new List<string>(); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); foreach (string img in lista) { divHtml.InnerHtml += "<img src='" + imagem + "'/></br>"; }
No link que você me passou eu não consegui achar nada parecido com esse exemplo que você passou. E o que seria esse UCNavigationGridView?
Agradeço a ajuda
-
UCNavigationGridView é o nome de um componente Control! como é um exemplo ali tem botões!!!
e neles que você deve prestar atenção!
ButtonFirstEnabled = !model.IsFirstPage;
http://pagedlist.codeplex.com/ nesse link tem a classe que pagina seus resultado e ali no lugar da lista se tem que usar ele
assim:
int pagina = 1; // aqui é o controle que você deve guardar para saber qual é a próxima pagina ou voltar !!! List<string> lista = new List<string>(); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); lista.Add("Imagem.jpg"); var model = lista.ToPagedList(1, 5); foreach (String item in model) { } ButPrimeiro.Enabled = model.IsFirstPage; ButVoltar.Enabled = model.HasPreviousPage; ButAvancar.Enabled = model.HasNextPage; ButUltimo.Enabled = model.IsLastPage;
Perceba que o link passado tem o exemplo é só segui-lo !!!
Sorte!!!
- Sugerido como Resposta Fulvio Cezar Canducci Dias domingo, 23 de fevereiro de 2014 15:32
- Marcado como Resposta Giovani Cr quinta-feira, 27 de fevereiro de 2014 15:27
-