none
Datagrid Não carrega dados RRS feed

  • Pergunta

  • Boa tarde

    Estou iniciando em Silverlight e fiz um datagrid receber uma lista de elementos de uma determinada classe.

     

    Após isso, fiz meu datagrid receber essa lista, tipo:

     

    this.datagri1.ItemsSource = listaElem;

     

    Ao exibir na tela, a quantidade de linhas que a lista possui, é exibida na grid, mas ficam todas vazias.

     

    Alguém poderia ajudar? Desde já agradeço.

     

    PS: Já coloquei AutoGenerateColumns = "False"

    quinta-feira, 3 de fevereiro de 2011 17:47

Respostas

Todas as Respostas

  • Boa Tarde,

    Já que você configurou seu Datagrid para AutoGenerateColumns = False você precisa configurar manualmente as colunas.

    Você pode fazer isso facilmente pelo blend ou pelo XAML.

    Caso queira apenas exibir os dados utilize:

    <data:DataGridTextColumn Header="[Nome da Coluna]" Binding="{Binding PropriedadeDaSuaClasseQueVoceQuerExibir}" />

    Repare que no Binding você deve colocar a propriedade da sua classe e no Header o que você quer que apareça no cabeçalho dessa coluna


    Ricardo Dorta
    Arquiteto de Software
    MCP,MCAD,MCSD
    Ajudou? Marque como reposta!!!.
    blog: http://blogs.makesys.com.br/dorta
    twitter : http://twitter.com/dortaway
    quinta-feira, 3 de fevereiro de 2011 19:55
    Moderador
  • <p>Primeiramente gostaria de agradecê-lo pela atenção. Obrigado! Eu configurei as colunas do meu datagrid no code behind, veja:</p>

     

     

    this.dgdBomba.Columns.Add(

     

     

    new DataGridTextColumn

    {

    Header =

     

    "Código",

    Binding =

     

    new Binding("codVariavel")

    });

     

     

    this.dgdBomba.Columns.Add(

     

     

    new DataGridTextColumn

    {

    Header =

     

    "Descrição",

    Binding =

     

    new Binding("dcDescricao")

    });

     

     

    this.dgdBomba.Columns.Add(

     

     

    new DataGridTextColumn

    {

    Header =

     

    "Valor",

    Binding =

     

    new Binding("nuValor")

    });

     

     

    this.dgdBomba.Columns.Add(

     

     

    new DataGridTextColumn

    {

    Header =

     

    "Valor Min",

    Binding =

     

    new Binding("nuValorMin")

    });

     

     

    this.dgdBomba.Columns.Add(

     

     

    new DataGridTextColumn

    {

    Header =

     

    "Valor Max",

    Binding =

     

    new Binding("nuValorMax")

    });

     

     

    this.dgdBomba.Columns.Add(

     

     

    new DataGridTextColumn

    {

    Header =

     

    "Status",

    Binding =

     

    new Binding("nmStatus")

    });

     

     

    <p>Há algo errado nesta configuração?</p>

    sexta-feira, 4 de fevereiro de 2011 00:23
  • Precisaria ver a classe que voce usa para popular o DataGrid.
    Ricardo Dorta
    Arquiteto de Software
    MCP,MCAD,MCSD
    Ajudou? Marque como reposta!!!.
    blog: http://blogs.makesys.com.br/dorta
    twitter : http://twitter.com/dortaway
    • Sugerido como Resposta Américo Arvani quarta-feira, 9 de fevereiro de 2011 20:19
    • Marcado como Resposta cayo quarta-feira, 9 de fevereiro de 2011 21:02
    sexta-feira, 4 de fevereiro de 2011 11:33
    Moderador
  • Olá, Cayo
    Você tem como mostrar o codigo que está na sua classe (listaElem)  para que possamos te ajudar.

    Você está utilizando WCF, essa classe está no webservice ou foi criado dentro do projeto do silverlight?

    Pelo que analisei sua programação não está com problemas , como disse o Ricardo provavel que seja a forma de popular os dados que está com problemas.

    Veja se esse site te ajuda http://forums.silverlight.net/forums/p/201932/471395.aspx para criar as colunas programaticamente, e esse site http://blogs.msdn.com/b/scmorris/archive/2008/03/27/defining-columns-for-a-silverlight-datagrid.aspx pode te ajudar de como se popular uma data grid no silverlight.


    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    • Marcado como Resposta cayo quarta-feira, 9 de fevereiro de 2011 21:02
    quarta-feira, 9 de fevereiro de 2011 10:10
  • Boa tarde,

    Obrigado a todos pela ajuda. O problema estava realmente na minha classe da camada WCF. Eu já havia percebido isso horas depois que postei aqui e esqueci de responder.

    Obrigado pela atenção.

    Abs,

     

    Cayo Fontana

    quarta-feira, 9 de fevereiro de 2011 19:00