Dúvida com array ou lista
Fiz um array e carreguei uns valores para testar um gridview da DevEx. Minha dúvida é que está sendo criadas várias linhas(mesmo tamanho do array), ou seja, não estou sabendo informar que cada posição do array é uma coluna e não uma linha. Como eu faço isso? veja abaixo minha declaração. E tem mais, esses valores não estão aparecendo no grid. Tem as lionhas(deveria ser uma e são 15), mas com as colunas em branco. Uso o ASPxGridView(Da DEVEX)
string[] testaGrid = new string[15]; testaGrid[0] = ""; testaGrid[1] = ("407630448"); testaGrid[2] = ("40301630"); testaGrid[3] = ("Creatinina"); testaGrid[4] = ("1"); testaGrid[5] = ("Tabela Própria"); testaGrid[6] = (""); testaGrid[7] = ("07/05/2013"); testaGrid[8] = ("Glosado Parcial"); testaGrid[9] = ("3,90"); testaGrid[10] = ("3,75"); testaGrid[11] = ("0,15"); testaGrid[12] = ("0,10"); testaGrid[13] = ("2564789-A00-016"); testaGrid[14] = (""); gvItemNotaFiscal.DataSource = testaGrid; gvItemNotaFiscal.DataBind();
Pjava
Curtidas 0
Respostas
Joel Rodrigues
26/09/2013
Este é o comportamento padrão. Para definir colunas, você deve criar uma lista, nem que seja de objetos dinâmicos. Por exemplo:
new { Nome = "PJava", Codigo = "123" Etc = "etc" }
GOSTEI 0
Pjava
26/09/2013
Joel, eu primeiro crio o array como eu fiz e depois dou um new ou como eu faço isso?
GOSTEI 0
Joel Rodrigues
26/09/2013
Você pode criar um array de objetos dinâmicos ou (melhor) criar uma lista (List<object>). E claro, vai adicionando os objetos em cada posição do array ou da lista.
GOSTEI 0
Pjava
26/09/2013
Eu então eu faço como, tipo:
string[] marray = new string[15]{nome="pjava",etc="etc"}; Assim dá erro comigo, tipo, Nome não está no atual contexto e etc....
string[] marray = new string[15]{nome="pjava",etc="etc"}; Assim dá erro comigo, tipo, Nome não está no atual contexto e etc....
GOSTEI 0
Joel Rodrigues
26/09/2013
Não, amigo.
Você vai criar um array de Object OU uma List<Object>, onde CADA ITEM vai ser um objeto dinâmico.
Para facilitar, crie uma classe com algumas propriedades, instancie alguns objetos e insira na lista.
Você vai criar um array de Object OU uma List<Object>, onde CADA ITEM vai ser um objeto dinâmico.
Para facilitar, crie uma classe com algumas propriedades, instancie alguns objetos e insira na lista.
GOSTEI 0
Pjava
26/09/2013
Ok, resolvi assim. O ASPxGridView tem uma propriedade FieldName que deve ser considerada. Eu estava não usando-a e por isso não consegui nada. Os campos dentro do vetor, correspondem cada FieldName de cada coluna. Dessa forma fino.
var testaGrid = new[] { new { COD_PRESTADOR = "407630448", COD_SERVICO = "40301630", NM_SERVICO="Creatinina", QTD_REALIZADA="1",TIPO_TABELA="Tabela Própria",
GRAU_PARTICIPACAO="", DT_REALIZACAO="07/05/2013",STATUS_ITEM="Glosado Parcial",VL_COBRADO="3,90",
VL_PAGO="3,75",VL_GLOSADO="0,15",VL_RECUPERADO="0,10",NR_NOTAFISCAL="2564789-A00-016"} };
gvItemNotaFiscal.DataSource = testaGrid;
gvItemNotaFiscal.DataBind();
var testaGrid = new[] { new { COD_PRESTADOR = "407630448", COD_SERVICO = "40301630", NM_SERVICO="Creatinina", QTD_REALIZADA="1",TIPO_TABELA="Tabela Própria",
GRAU_PARTICIPACAO="", DT_REALIZACAO="07/05/2013",STATUS_ITEM="Glosado Parcial",VL_COBRADO="3,90",
VL_PAGO="3,75",VL_GLOSADO="0,15",VL_RECUPERADO="0,10",NR_NOTAFISCAL="2564789-A00-016"} };
gvItemNotaFiscal.DataSource = testaGrid;
gvItemNotaFiscal.DataBind();
GOSTEI 0
Joel Rodrigues
26/09/2013
No fim das contas, o que você fez foi criar um vetor com um objeto dinâmico. Os campos são do objeto e não do vetor.
Ou seja, tem um vetor com 1 item e esse item tem várias propriedades que representam as colunas, exatamente como eu lhe disse.
Que bom que deu certo, estou concluindo o tópico.
Ou seja, tem um vetor com 1 item e esse item tem várias propriedades que representam as colunas, exatamente como eu lhe disse.
Que bom que deu certo, estou concluindo o tópico.
GOSTEI 0