Usuário com melhor resposta
Paginar um datagrid carregado pelo CS

Pergunta
-
Olá pessoal,
tenho um probleminha que ainda nao consegui resolver.
tenho uma pagina de pesquisa onde o usuario pode pesquisar por dois parametros ou selecionar um chekbox que lista todas as solicitações.
ao clicar neste chekbox, e executado um metodo que retorna todas as solicitações registradas por um determinado cliente, o problema e que se eu adicionar a opção (AllowPaging="true") nao aparece nada na tela, se eu retirar esta opção a consulta e executada com sucesso.
como faço para carregar um datagrid via .CS com paginação
Datagrid:
<asp:GridView ID="GridViewSolicitacao" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" Font-Names="Trebuchet MS" Font-Size="10pt" AllowPaging="true"> <AlternatingRowStyle BackColor="White" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <Columns> <asp:HyperLinkField DataNavigateUrlFields="COD" DataNavigateUrlFormatString="detalhesSolicitacao.aspx?IdSolicitacao={0}" HeaderText="Ver" Text="Ver" HeaderImageUrl="~/imagens/Icone_Detalhar.png" NavigateUrl="~/imagens/Icone_Detalhar.png" /> </Columns> <EditRowStyle BackColor="#2461BF" /> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Size="12pt" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#EFF3FB" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <SortedAscendingCellStyle BackColor="#F5F7FB" /> <SortedAscendingHeaderStyle BackColor="#6D95E1" /> <SortedDescendingCellStyle BackColor="#E9EBEF" /> <SortedDescendingHeaderStyle BackColor="#4870BE" /> </asp:GridView>
Metodo:
MySql.Data.MySqlClient.MySqlDataReader dr1 = comsql.ExecuteReader(); //VARIAVEL HaLinhas RECEBE TRUE CASO HAJA RETORNO OU FALSE CASO NINGUEM SEJA ENCONTRADO HaLinha = dr1.HasRows; //CASO TENHA LINHA CARREGA O GRIDVIEW if (HaLinha == true) { //PREENCHE A CRIDVIEW COM O RETORNO DA CONSULTA SQL GridViewSolicitacao.Visible = true; GridViewSolicitacao.DataSource = dr1; GridViewSolicitacao.DataBind(); LbResultadoConsulta.Text = ""; }
Funciona perfeitamente sem o (AllowPaging="true") no datagrid.
Obrigado!
Renato Souza @renatin.bsi
- Movido Levi DomingosModerator domingo, 18 de março de 2012 17:55 (De:C#)
Respostas
-
Seilor,
obrigado pelo link, mais nao consegui utilizar inclui a chamado do metodo no datagrid e no CodeBehind inclui o metodo que o post do forum asp.net, mais nada aconteceu.
poderia me ajudar.
Obrigado!
Renato Souza @renatin.bsi
- Marcado como Resposta Renato.s.almeida segunda-feira, 21 de maio de 2012 15:38
Todas as Respostas
-
Veja
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.allowpaging.aspx
http://forums.asp.net/p/956540/1177923.aspx
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC
- Marcado como Resposta Harley Araujo quarta-feira, 21 de março de 2012 13:38
- Não Marcado como Resposta Renato.s.almeida quinta-feira, 22 de março de 2012 21:53
-
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ManipulandoGridView.aspx.cs" Inherits="ExemplosMSDN_ManipulandoGridView" %> <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server"> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:GridView ID="gdvUsuario" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True" onpageindexchanging="gdvUsuario_PageIndexChanging" PageSize="5"> <Columns> <asp:BoundField DataField="Nome" HeaderText="Nome" SortExpression="Nome" /> <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" /> <asp:BoundField DataField="DataCadastro" HeaderText="DataCadastro" SortExpression="DataCadastro" /> <asp:CheckBoxField DataField="Ativo" HeaderText="Ativo" SortExpression="Ativo" /> </Columns> </asp:GridView> <asp:Button ID="btnPegarDados" runat="server" Text="Pegar Dados Da Grid" onclick="btnPegarDados_Click" /> <br /> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:v2elseveConnectionString_Qa %>" SelectCommand="SELECT [Nome], [Email], [DataCadastro], [Ativo] FROM [Usuario]"> </asp:SqlDataSource> </ContentTemplate> </asp:UpdatePanel> </asp:Content>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class ExemplosMSDN_ManipulandoGridView : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnPegarDados_Click(object sender, EventArgs e) { List<Usuario> objListaUsuario = new List<Usuario>(); foreach (GridViewRow linha in gdvUsuario.Rows) { objListaUsuario.Add(new Usuario() { Nome = linha.Cells[0].Text, Email = linha.Cells[1].Text, DataCadastro = Convert.ToDateTime(linha.Cells[2].Text), Ativo = ((CheckBox)(linha.Cells[3].Controls[0])).Checked }); } } protected void gdvUsuario_PageIndexChanging(object sender, GridViewPageEventArgs e) { } } public class Usuario { public Usuario() { } public string Nome { get; set; } public string Email { get; set; } public DateTime DataCadastro { get; set; } public bool Ativo { get; set; } }
- Marcado como Resposta Harley Araujo quarta-feira, 21 de março de 2012 13:38
- Não Marcado como Resposta Renato.s.almeida terça-feira, 27 de março de 2012 11:34
-
Seilor,
obrigado pelo link, mais nao consegui utilizar inclui a chamado do metodo no datagrid e no CodeBehind inclui o metodo que o post do forum asp.net, mais nada aconteceu.
poderia me ajudar.
Obrigado!
Renato Souza @renatin.bsi
- Marcado como Resposta Renato.s.almeida segunda-feira, 21 de maio de 2012 15:38