Usuário com melhor resposta
Meu GridView não aparece

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();
}
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
Todas as 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
-