none
Filtrar DataTable na exibição do GridView RRS feed

  • Pergunta

  • Bom dia a todos,

    preciso de algo até simples, acho que já fiz alguma coisa parecida, mas não me lembro. Estou criando um datatable com quatro campos, e quero exibir apenas 2 campos no gridview, como eu faço para restringir esta exibição? não estou utilizando datasets, os datatables e o grid estão sendo todos criados na mão. Alguma dica de como fazer isso? criar a table com quatro campos e montar o grid exibindo apenas dois?

    Abraços

    quinta-feira, 1 de novembro de 2012 12:22

Respostas

  • Marcos,

    Copiei do exemplo do link que eu te passei.

    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>GridView example: how to use GridView in asp.net</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="CustomerID" 
                DataSourceID="SqlDataSource1">
                <Columns>
                    <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" 
                        SortExpression="CustomerID" />
                    <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" 
                        SortExpression="CompanyName" />
                    <asp:BoundField DataField="ContactName" HeaderText="ContactName" 
                        SortExpression="ContactName" />
                    <asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" 
                        SortExpression="ContactTitle" />
                    <asp:BoundField DataField="Address" HeaderText="Address" 
                        SortExpression="Address" />
                    <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
                    <asp:BoundField DataField="Region" HeaderText="Region" 
                        SortExpression="Region" />
                    <asp:BoundField DataField="PostalCode" HeaderText="PostalCode" 
                        SortExpression="PostalCode" />
                    <asp:BoundField DataField="Country" HeaderText="Country" 
                        SortExpression="Country" />
                    <asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" />
                    <asp:BoundField DataField="Fax" HeaderText="Fax" SortExpression="Fax" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>" 
                SelectCommand="SELECT * FROM [Customers]"></asp:SqlDataSource>
        
        </div>
        </form>
    </body>
    </html>
    



    Carlos Eduardo Ferreira

    • Marcado como Resposta Marcos Paulo P.M terça-feira, 11 de dezembro de 2012 17:49
    quinta-feira, 1 de novembro de 2012 12:55

Todas as Respostas

  • Marcos,

    Set o atributo AutoGenerateColumns para false, e informe os campos que você quer exibir.

    Exemplo:

    http://asp-net-example.blogspot.com.br/2008/10/gridview-example-how-to-use-gridview-in.html


    Carlos Eduardo Ferreira


    quinta-feira, 1 de novembro de 2012 12:27
  • Marcos,

    Set o atributo AutoGenerateColumns para false, e informe os campos que você quer exibir.

    Exemplo:

    http://asp-net-example.blogspot.com.br/2008/10/gridview-example-how-to-use-gridview-in.html


    Carlos Eduardo Ferreira


    Bom dia Carlos,

    obrigado pela atenção, mas infelizmente não conseguirei visualizar este exemplo, aqui na empresa o WebSense bloqueia qualquer site com domínio blogspot, ou algo do gênero. Se você tiver algum exemplo que não seja de blog ou se você puder colar o exemplo aqui de como ele informa os campos que quer exibir seria de grande ajuda, desde já te agradeço.

    Abraço

    quinta-feira, 1 de novembro de 2012 12:41
  • Marcos,

    Copiei do exemplo do link que eu te passei.

    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>GridView example: how to use GridView in asp.net</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="CustomerID" 
                DataSourceID="SqlDataSource1">
                <Columns>
                    <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" 
                        SortExpression="CustomerID" />
                    <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" 
                        SortExpression="CompanyName" />
                    <asp:BoundField DataField="ContactName" HeaderText="ContactName" 
                        SortExpression="ContactName" />
                    <asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" 
                        SortExpression="ContactTitle" />
                    <asp:BoundField DataField="Address" HeaderText="Address" 
                        SortExpression="Address" />
                    <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
                    <asp:BoundField DataField="Region" HeaderText="Region" 
                        SortExpression="Region" />
                    <asp:BoundField DataField="PostalCode" HeaderText="PostalCode" 
                        SortExpression="PostalCode" />
                    <asp:BoundField DataField="Country" HeaderText="Country" 
                        SortExpression="Country" />
                    <asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" />
                    <asp:BoundField DataField="Fax" HeaderText="Fax" SortExpression="Fax" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:AppConnectionString1 %>" 
                SelectCommand="SELECT * FROM [Customers]"></asp:SqlDataSource>
        
        </div>
        </form>
    </body>
    </html>
    



    Carlos Eduardo Ferreira

    • Marcado como Resposta Marcos Paulo P.M terça-feira, 11 de dezembro de 2012 17:49
    quinta-feira, 1 de novembro de 2012 12:55
  • Voce pode tentar isso:

    DataTable myTable;
    DataTable copy;
    
    copy = myTable.Copy();
    copy.Columns.Remove("Coluna3");
    copy.Columns.Remove("Coluna4");
    
    grid.DataSource = copy.DefaultView;

    Outra opção:

    DataView dv = new DataView(seuDataTable);
    DataTable dt  = dv.ToTable(true, "Coluna1", "Coluna2");
    grid.DataSource = dt;

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    quinta-feira, 1 de novembro de 2012 15:14