none
Metodo atualizaGrid de outro form é executado mas não atualiza RRS feed

  • Pergunta

  • Olá pessoal,

    Quando abro o form1, eu já populo o DataGridView, quando faço uma alteração em uma linha do DataGridview nesse form1, eu abro o form2 com outro Grid, se no form2, excluir alguma linha quero que o Grid do form1 seja atualizado, mas ele somente atualiza, se fechar o form1 e abri-lo novamente, estou fazendo assim:

      

    public form1()
            {
                InitializeComponent();

            }

     private void form1_Load(object sender, EventArgs e)
            {

               atualizaGrid()

            }

    public void atualizaGrid()

    {

      // 

    }

    Form2

    private void btndescartar_Click(object sender, EventArgs e)
            {

                form1 f1 = new form1();
                f1.atualizaGrid(1); // Executa metodo atualizaGrid do form1, mas só atualiza se fechar e abri-lo novamente.

            }

    Windows form, C#

    terça-feira, 2 de janeiro de 2018 13:31

Respostas

  • Olá Felipe, boa noite,

    Consegui resolver, mas não sei se é da maneira correta, tenho dois forms, form1 e form2, cada form com um DataGridView, quando tenho que abrir o form2, antes fecho o form1, a mesma coisa com o form2, quando fecho abro novamente o form1, ai sim o DataGridView do form1 é atualizado, espero ter conseguido explicar com clareza. Pelo que entendi, eu não consigo atualizar o DataGridview que está em outro form, apenas executando um metodo para popular o DataGridView, só consegui, fechando o form e abrindo novamente.

    Obrigado por sua atenção.

    sexta-feira, 5 de janeiro de 2018 22:19

Todas as Respostas

  • bom dia,

    Pode postar o codigo que você carrega os grids ?


    Diego Almeida Barreto</strong> <br/> <em>System Analyst / Software Developer</em> <br/> <img </p> </div>

    terça-feira, 2 de janeiro de 2018 13:38
  •  public void atualizaGrid()
            {
                Program.conectaBase();
                // var linhaselecionada cursor parar na linha selecionada
                int linhaselecionada = 0;
                if (dgvLembrete.CurrentRow != null)
                {
                    linhaselecionada = dgvLembrete.CurrentRow.Index;
                }

                string sql = "select nomecli, id from lembrete where codven = " + frmLogin.codusu + " order by dtnovocontato desc";
                // instancia um dataset
                DataSet dts = new DataSet();
                MySql.Data.MySqlClient.MySqlDataAdapter datap = new MySqlDataAdapter(sql, Program.conn);
                datap.Fill(dts, "LEMBRETE");
                dgvLembrete.DataSource = dts.Tables["LEMBRETE"];


                try
                {
                    dgvLembrete.CurrentCell = dgvLembrete.Rows[linhaselecionada].Cells[0];
                }
                catch { };
            }
    terça-feira, 2 de janeiro de 2018 13:54
  • Boa tarde, Porter Porter. Tudo bem?

    Conseguiu algum avanço no teu caso?

    Se ainda não, o que precisa?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 5 de janeiro de 2018 17:31
    Moderador
  • Olá Felipe, boa noite,

    Consegui resolver, mas não sei se é da maneira correta, tenho dois forms, form1 e form2, cada form com um DataGridView, quando tenho que abrir o form2, antes fecho o form1, a mesma coisa com o form2, quando fecho abro novamente o form1, ai sim o DataGridView do form1 é atualizado, espero ter conseguido explicar com clareza. Pelo que entendi, eu não consigo atualizar o DataGridview que está em outro form, apenas executando um metodo para popular o DataGridView, só consegui, fechando o form e abrindo novamente.

    Obrigado por sua atenção.

    sexta-feira, 5 de janeiro de 2018 22:19