none
Meu GridView não aparece RRS feed

  • Pergunta

  • Essa é minha declaração no aspx.

    <asp:GridView runat="server" ID="gvDados" />

    E este é meu código no Page_Load. Eu estou fazendo esse código para aprender Linq, apenas. Por isso tudo está no Page_Load. Eu fiz for em cima do meu array para preencher o Grid e ele não aparece, mas os dados estão em DataTable, isso tá funcionando.

    public DataSet dsVerDados = new DataSet("dsVerDados1");

            protected void Page_Load(object sender, EventArgs e)
            {
                var customer = new[]
                {
                    new{CustomerID = 1,FirstName = "Orlando",LastName = "Gee", CompanyName = "A Bike Store"},
                    new{CustomerID = 2,FirstName = "Keith",LastName = "Harris", CompanyName = "Bike World"},
                    new{CustomerID = 3,FirstName = "Donna",LastName = "Carreras", CompanyName = "A Bike Store"},
                    new{CustomerID = 4,FirstName = "Janet",LastName = "Gates", CompanyName = "Fitness Hotel"},
                    new{CustomerID = 5,FirstName = "Lucy",LastName = "Harrington", CompanyName = "Grand Industries"},
                    new{CustomerID = 6,FirstName = "David",LastName = "Liu", CompanyName = "Bike World"},
                    new{CustomerID = 7,FirstName = "Donald",LastName = "Blanton", CompanyName = "Grand Industries"},
                    new{CustomerID = 8,FirstName = "Jackie",LastName = "Blackwell", CompanyName = "Fitness Hotel"},
                    new{CustomerID = 9,FirstName = "Elsa",LastName = "Leavitt", CompanyName = "Grand Industries"},
                    new{CustomerID = 10,FirstName = "Eric",LastName = "Lang", CompanyName = "Distant Inn"}
                };
                var adress = new[] 
                {
                    new{CompanyName ="A Bike Store",City = "New York", Country = "United States"},
                    new{CompanyName ="Bike World",City = "Chicago", Country = "United States"},
                    new{CompanyName ="Fitness Hotel",City = "Otawwa", Country = "Canada"},
                    new{CompanyName ="Grand Industries",City = "London", Country = "United Kingdom"},
                    new{CompanyName ="Distant Inn",City = "Tetbury", Country = "United Kingdom"}
                };

                DataTable dt = dsVerDados.Tables.Add("dsVerDados1");
                DataColumn dc = new DataColumn();
                dc.DataType = Type.GetType("System.String");
                dc.ColumnName = "FirstName";
                dt.Columns.Add(dc);

                IEnumerable<string> nomes = customer.Select(cust => cust.FirstName);

                foreach (string nm in nomes)
                {
                    DataRow dw = dt.NewRow();
                    dw[0] = nm;
                }
                dsVerDados.Tables.Clear();
                dsVerDados.Tables.Add(dt);

                this.gvDados.AutoGenerateColumns = true;
                gvDados.Visible = true;
                gvDados.DataSource = dsVerDados;
                gvDados.DataBind();
            }

    segunda-feira, 16 de julho de 2012 20:44

Respostas

  • Amigo, este seu códigp está extremamente complexo so para gerar algumas listas

    veja que você cria uma DataTable chamado DT, cria uma coluna para DT, mas nunca alimentou DT com nenhum dado, e o seu DataSet dsVerDados recebe uma tabela vázia

    troque a iteração do seu foreach para está

    foreach (string nm in nomes)
                {
                    dt.Rows.Add(new object[] { nm });
                }


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    • Marcado como Resposta pnet terça-feira, 17 de julho de 2012 14:35
    terça-feira, 17 de julho de 2012 11:49
    Moderador

Todas as Respostas