none
Jalar datos de un Datagridview a otro form RRS feed

  • Pregunta

  • Tengo dos formularios, en el primero tengo mi datagridview, con el boton Editar, al seleccionar una fila del data.. y presiono en Editar, me abre otro formulario.

    public void btnEditar_Click(object sender, EventArgs e)
            {
                if (dataProveedores.SelectedRows.Count > 0)
                {
                    
                    EditProveedor frm = new EditProveedor();
                    frm.ShowDialog();
                   
                    
                }
            }

    en el otro formulario tengo varios cajas de texto, quisiera que se llene automaticamente jalando datos de la final seleccionada del form anterior. 

    No se si me estoy explicando bien, pero e tratado horas de encontrar una forma y nada...

    sábado, 10 de noviembre de 2018 15:29

Respuestas

  • Podrías pasarle la fila seleccionada al segundo formulario:

    public void btnEditar_Click(object sender, EventArgs e)
    {
        if (dataProveedores.SelectedRows.Count > 0)
        {
            EditProveedor frm = new EditProveedor(dataProveedores.SelectedRows[0]);
            frm.ShowDialog();
        }
    }

    Después, en el EditProveedor, tomas la fila en el constructor y pasas los campos a los textboxes:

    public EditProveedor(DataGridViewRow dgvr)
    {
        this.InitializeComponent();
        textBox1.Text = dgvr.Cells[0].Value;
        textBox2.Text = dgvr.Cells[2].Value;
        // etc
    }

    Ojo con el SelectedRows, recuerda que NO ES LO MISMO seleccionar una celda de DataGridView que seleccionar una fila. Si solo seleccionas la celda, no funcionará (la fila no queda seleccionada). Hay que hacer click en el selector gris de la izquierda para que se seleccione toda la fila.

    • Propuesto como respuesta Sergio ParraModerator sábado, 10 de noviembre de 2018 15:57
    • Marcado como respuesta Eder Snchz sábado, 10 de noviembre de 2018 22:53
    sábado, 10 de noviembre de 2018 15:50
    Moderador

Todas las respuestas

  • Podrías pasarle la fila seleccionada al segundo formulario:

    public void btnEditar_Click(object sender, EventArgs e)
    {
        if (dataProveedores.SelectedRows.Count > 0)
        {
            EditProveedor frm = new EditProveedor(dataProveedores.SelectedRows[0]);
            frm.ShowDialog();
        }
    }

    Después, en el EditProveedor, tomas la fila en el constructor y pasas los campos a los textboxes:

    public EditProveedor(DataGridViewRow dgvr)
    {
        this.InitializeComponent();
        textBox1.Text = dgvr.Cells[0].Value;
        textBox2.Text = dgvr.Cells[2].Value;
        // etc
    }

    Ojo con el SelectedRows, recuerda que NO ES LO MISMO seleccionar una celda de DataGridView que seleccionar una fila. Si solo seleccionas la celda, no funcionará (la fila no queda seleccionada). Hay que hacer click en el selector gris de la izquierda para que se seleccione toda la fila.

    • Propuesto como respuesta Sergio ParraModerator sábado, 10 de noviembre de 2018 15:57
    • Marcado como respuesta Eder Snchz sábado, 10 de noviembre de 2018 22:53
    sábado, 10 de noviembre de 2018 15:50
    Moderador
  • Wooow! Gracias bro! Ahora entiendo para que puede servir los constructores, entendí mejor con esto que con las 4 horas que se tiran los profesores explicando.
    sábado, 10 de noviembre de 2018 22:53