none
Paginar um datagrid carregado pelo CS RRS feed

  • 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

    sábado, 17 de março de 2012 21:23

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
    quinta-feira, 22 de março de 2012 21:55

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
    segunda-feira, 19 de março de 2012 12:24
    Moderador
  • <%@ 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
    segunda-feira, 19 de março de 2012 14:36
  • 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
    quinta-feira, 22 de março de 2012 21:55