none
Edição Itens Grid C# RRS feed

  • Pergunta

  • Olá Amigos,
    Sou inciante em C# e estou desenvolvendo um sistema de ORDEM DE SERVIÇOS, o projeto está indo, porém estou com dificuldades na edição de um grid onde é apresentado itens de recebimento de uma determinada O.S., o que gostaria de fazer:
    * Que fosse possível a edição, inclusão e exclusão das linhas do grid de forma que tais alterações não fossem processadas no banco, ou seja, de forma desconectada, para posteriormente no clique do botão "SALVAR" enviar todas estas alteração para o O.S. correspondente.
    * Caso o usuário desejasse não processar tais alterações feitas no grid, clicasse no botão "CANCELAR" e nada seria alterado, por isto a necessidade que as alterações dos itens não sejam processadas.
    Para melhor compreensão, vou postar código que carrego o grid:

    public void CarregarGridCredito()
            {
                try
                {
                    string carregar = "Select CartaoCredito.Item, CartaoCredito.Parcela, CartaoCredito.Data, CartaoCredito.ValorParcela," +
                                      "CartaoCredito.IdOrdem From CartaoCredito where IdOrdem= @IdOrdem";
    
                    OleDbCommand cmd = new OleDbCommand(carregar, conn);
    
                    OleDbDataReader reader;
    
                    DataTable dtTable = new DataTable();
                    
                    conn.Open();
    
                    cmd.Parameters.Clear();
    
                    cmd.Parameters.AddWithValue("@IdOrdem", txtCodOS.Text);
    
                    reader = cmd.ExecuteReader();
    
                    dtTable.Load(reader);
    
                    dgvCartao.DataSource = dtTable;
                }
                catch
                {
                }
                finally
                {
                    conn.Close();
                }
            }

    segunda-feira, 24 de abril de 2017 00:34

Respostas

  • Weder França,

    Você precisa alterar a propriedade EditMode para permitir a edição:

    dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

    Então para salvar as alterações você pode utilizar o código como neste tópico: http://stackoverflow.com/a/34175019/1184708


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    segunda-feira, 24 de abril de 2017 08:53

Todas as Respostas

  • Weder França,

    Você precisa alterar a propriedade EditMode para permitir a edição:

    dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

    Então para salvar as alterações você pode utilizar o código como neste tópico: http://stackoverflow.com/a/34175019/1184708


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    segunda-feira, 24 de abril de 2017 08:53
  • Você pode criar um datatable e datacolumn e dinamicamente adicionar as rows do grid desconectado ou use JqGrid, componente do Jquery.
    segunda-feira, 24 de abril de 2017 21:48
  • Olá Juliano, obrigado pela resposta.

    Como falei, sou iniciante em C# (agradeço a paciência rsrsrsr) sobre este modo EditMode do grid, é para que as alterações sejam feitas no próprio grid?

    Estou querendo é que quando o usuário selecionar a linha e clicar em alterar, as informações fossem repassadas para os textbox e no click do botão incluir a linha fosse alterada com as devidas alterações, caso fosse feito uma nova inclusão ou alteração, estas sejam salvas no banco apenas no click do botão "SALVAR".

    Para facilitar, basicamente preciso que o sistema faça uma comparação com o grid inicial (select) com o final (click do botão SALVAR) para verificar o que foi alterado, incluido ou excluido) Não sei se isto é possível ou se é a melhor forma.

    Desde de já agradeço, tenha uma semana abençoada, 

    No aguardo, 

    Att

    terça-feira, 2 de maio de 2017 13:52