none
Xceed DataGrid, DataBinding e ADO.Net Entities Framework RRS feed

Respostas

  • Boa tarde Bruno.

    Obrigado pelo retorno.

    O problema era outro. Eu estou utilizando algo bem parecido:

    private void Selecao()

    {

    using (SisWebClasses.siswebEntities dm = new SisWebClasses.siswebEntities())

    {

    dgSetor.ItemsSource = from c in dm.tbSetor

    select new { c.IdSetor, c.Setor, c.Situacao };

    }

    }

     

    No entanto o problema estava no XAML ao definir as colunas:

    <xcdg:DataGridControl.Columns>

    <xcdg:Column FieldName="IdSetor" Title="Codigo"  ReadOnly="True"></xcdg:Column>

    <xcdg:Column FieldName="Setor" Title="Setor" IsMainColumn="True"> </xcdg:Column>

    <xcdg:Column FieldName="Situacao" Title="Situacao" ></xcdg:Column>

    </xcdg:DataGridControl.Columns>

     

    Ao abrir a tela dava a mensagem de erro:

    Uma ligação TwoWay ou OneWayToSource não pode funcionar na propriedade somente leitura 'IdSetor' do tipo '<>f__AnonymousType1`3[System.Int32,System.String,System.Boolean]'.

     

    A solução foi declarar cada coluna como : ReadOnly="True"

    <xcdg:Column FieldName="IdSetor" Title="Codigo"  ReadOnly="True"></xcdg:Column>

     

    Após isso o problema foi solucionado!

     

    Agora vou quebrar a cabeça com a reordenação clicando no Título da Coluna.

     

    Abraços! E obrigado!

    segunda-feira, 10 de novembro de 2008 20:09

Todas as Respostas

  • Eu já usei, o que você quer é muito simples. Coloque a sua grid na janela, crie o modelo EF e, no construtor da janela, crie uma query LINQ e coloque o ItemsSource da grid apontando para o resultado da query. Ex

     

    using (var dc = new NORTHWNDEntities())

    {

      var query = from c in dc.Customers

                       select c;

      dataGridControl1.ItemsSource = query;

    }

     

    Bruno

    sexta-feira, 7 de novembro de 2008 22:08
  • Boa tarde Bruno.

    Obrigado pelo retorno.

    O problema era outro. Eu estou utilizando algo bem parecido:

    private void Selecao()

    {

    using (SisWebClasses.siswebEntities dm = new SisWebClasses.siswebEntities())

    {

    dgSetor.ItemsSource = from c in dm.tbSetor

    select new { c.IdSetor, c.Setor, c.Situacao };

    }

    }

     

    No entanto o problema estava no XAML ao definir as colunas:

    <xcdg:DataGridControl.Columns>

    <xcdg:Column FieldName="IdSetor" Title="Codigo"  ReadOnly="True"></xcdg:Column>

    <xcdg:Column FieldName="Setor" Title="Setor" IsMainColumn="True"> </xcdg:Column>

    <xcdg:Column FieldName="Situacao" Title="Situacao" ></xcdg:Column>

    </xcdg:DataGridControl.Columns>

     

    Ao abrir a tela dava a mensagem de erro:

    Uma ligação TwoWay ou OneWayToSource não pode funcionar na propriedade somente leitura 'IdSetor' do tipo '<>f__AnonymousType1`3[System.Int32,System.String,System.Boolean]'.

     

    A solução foi declarar cada coluna como : ReadOnly="True"

    <xcdg:Column FieldName="IdSetor" Title="Codigo"  ReadOnly="True"></xcdg:Column>

     

    Após isso o problema foi solucionado!

     

    Agora vou quebrar a cabeça com a reordenação clicando no Título da Coluna.

     

    Abraços! E obrigado!

    segunda-feira, 10 de novembro de 2008 20:09