none
Mostrar registro gravado em datagridview RRS feed

  • Pergunta

  • Pessoal é o seguinte:

     

    eu tenho este codigo:

     

    public void SalvaItens(

    int id,

    int idFilial,

    int iteProduto,

    float iteQtde)

    {

    FAT_PED_ITEN pItens = new FAT_PED_ITEN();

    pItens.ID = id;

    pItens.ID_FILIAL = idFilial;

    pItens.ID_PRODUTO = iteProduto;

    pItens.QTDE = iteQtde;

    if (pItens.ID != 0)

    {

    var ite = dc.FAT_PED_ITENs.Single(c => c.ID == pItens.ID);

    ite.ID = pItens.ID;

    ite.ID_FILIAL = pItens.ID_FILIAL;

    ite.ID_PRODUTO = pItens.ID_PRODUTO;

    ite.QTDE = pItens.QTDE;

    }

    else

    {

    dc.FAT_PED_ITENs.InsertOnSubmit(pItens);

    }

     

    fATPEDITENBindingSource.DataSource = pItens;

    }

     

    ele faz uma gravação de um regsitro filho numa estrutura com transação.

     

     

    eu queria que na medida que fosse gravando os regsitro o mesmo fosse mostrado num datagridview, eu ate consegui fazer ele mostrar mais so mostra o ultimo gravado e nao todos.

     

    alguem pode me ajudar?

     

    att

     

    terça-feira, 22 de abril de 2008 01:46

Respostas

  • Ola MOF,

     

    Pelo que entendi do seu código o problema esta na criação da variável pItens ( FAT_PED_ITEN pItens = new FAT_PED_ITEN(); ), você criou um único valor e depois o apresenta no DataGridView através do BindinSource (

    fATPEDITENBindingSource.DataSource = pItens; ). Por isso o DataGridView só apresenta o último.

    Não sei como está todo o seu código, mas tenta adicionar o item a lista do BindingSource ( BindingSource.Insert( 0, pItens ); ).

     

    Obs.: Dependendo de como escreveu seu código, isso pode duplicar o iten inserido.

     

    quinta-feira, 12 de junho de 2008 15:32

Todas as Respostas

  • MOF, o seu código está confuso. Nesse método você sempre cria um objeto do tipo FAT_PED_ITEN, haverá alguma situação em que o ID nao será igual a zero? você alimenta esse campo onde? do jeito que está ele sempre irá criar um objeto e esse será sempre mostrado no grid. Para que a lista de objetos incluídos cresca você deve adiciona-lo em uma lista na medida que for adicionando novos objetos.

     

    sábado, 26 de abril de 2008 00:53
    Moderador
  • Leonardo, Bom dia.

     

    Estou programando em Delphi a mais de 13 anos e agora estou migrando para C# com vs2008.

     

    Esta rotina esta escrita em camadas e estou tentando fazer uma inclusao com transacao pois a estrutura é:

     

    Nota_Fiscal e Itens da Nota Fiscal.

     

     

    so que quando gravo um item ou varios e mostro num datagridview ele so mostra o ultimo registro gravado.

     

    se voce quiser posso mandar os arquivos.

     

    Att, MOF

     

    segunda-feira, 28 de abril de 2008 14:52
  • Ola MOF,

     

    Pelo que entendi do seu código o problema esta na criação da variável pItens ( FAT_PED_ITEN pItens = new FAT_PED_ITEN(); ), você criou um único valor e depois o apresenta no DataGridView através do BindinSource (

    fATPEDITENBindingSource.DataSource = pItens; ). Por isso o DataGridView só apresenta o último.

    Não sei como está todo o seu código, mas tenta adicionar o item a lista do BindingSource ( BindingSource.Insert( 0, pItens ); ).

     

    Obs.: Dependendo de como escreveu seu código, isso pode duplicar o iten inserido.

     

    quinta-feira, 12 de junho de 2008 15:32