none
¿Como pasar datos de un datagridview a otro formulario ? RRS feed

  • Pregunta

  • Hola! 

    Como pasar datos de un datagridview que tengo en un formulario a otro formulario en el que tengo unos texboox y una datagridview. 

    este es el codigo con el que llamo el datagridview

    Form2 frm = new Form2();
                this.Hide();
                frm.Show();
                this.Show();

    y este es el código con el cargo los datos de la BD en el otro datagridview 

     NpgsqlCommand command = new NpgsqlCommand("buscar",conexion);
                    command.CommandType = CommandType.StoredProcedure;
                    NpgsqlDataAdapter da = new NpgsqlDataAdapter(command);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    dataGridView1.DataSource = dt;

    eso es todo lo que tengo 

    agredeceria su ayuda 

    miércoles, 26 de febrero de 2020 20:22

Todas las respuestas

  • Hola Wos

    Para que un form hijo pueda acceder a los miembros públicos del form principal, 

    1) Cuando invocas el método ShowDialog() le pasas this como parámetro, que es una referencia a si mismo, o sea al form principal, que es quien crea y muestra al form hijo, así:

    FormHijo form = new FormHijo();

    form.ShowDialog(this);  // this es la referencia al form principal

    2) En el form hijo, creas una referencia al form principal a través de su propiedad Owner (propietario o padre), que no es otra cosa que la referencia que le pasaste, así:

    FormPrincipal owner = (FormPrincipal)this.Owner;  // si no le pasas this a ShowDialog() Owner valdrá null

    3) Luego, para leer de o escribir en cualquier miembro público del form principal, así:

    owner.Variable = 50;

    string str = owner.Nombre();

    Espero te ayude

    Saludos

    Pablo



    miércoles, 26 de febrero de 2020 21:17
  • Tigre Pablito  

    para que funciona esta linea owner.Variable = 50;  para que  es (Variable)

    • Editado wos193 miércoles, 26 de febrero de 2020 21:36
    miércoles, 26 de febrero de 2020 21:36
  • Puse un ejemplo, suponiendo que una variable miembro pública del form principal se llame Variable, que se puede leer o escribir en ella, así:

    owner.Variable = 50;  // o lo que quieras

    int var = owner.Variable;  // suponiendo que sea un "public int Variable;"

    Trato ahora de poner un ejemplo más cercano a lo que vos decías:

    string valorCelda = owner.dataGridView1.Rows[3].Cells[5].Value.ToString();

    // obtiene el valor de la columna 6 de la fila 4 del dataGridView1


    miércoles, 26 de febrero de 2020 23:12