Meu GridView não aparece

16/07/2012

0

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

Pjava

Responder

Posts

17/07/2012

Pjava

Mudei o foreach e resolveu.
foreach (string nm in nomes)
{
//DataRow dw = dt.NewRow();
//dw[0] = nm;
dt.Rows.Add(new object[] { nm });
}

Preciso aprender usar menos linhas. Acho que toda aquela parafernalha acima não era necessária ou sim,? Não testei nada ainda, mas qdo chegar em casa, vou fazê-lo.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar