none
Cómo enviar datos desde un datagriview a un formulario RRS feed

  • Pregunta

  • Me explico:

    Al realizar una consulta desde un formulario que contiene un datagriview me aparecen nombres, apellidos y documento, esa consulta viene desde una base de datos; quiero abrir esos datos en otro formulario a fin de modificarlos, necesito hacerlo así. El formulario principal es MDI, el formulario de consulta es hijo y el formulario para modificarlo también es hijo.

    Si me pueden pasar el código o un ejemplo se los agradezco, saludos a todos los que me puedan colaborar.

    Walter Gómez

    lunes, 18 de mayo de 2015 20:40

Todas las respuestas

  • Hola Buen Dia.

       Lo puedes hacer a parir de contrutures enviando parametros; digamos que desde tu Fom1 lo deseas enviar atravez de un boton, lo cual puede quedar algo similar a esto:

            private void btnAccion_Click(object sender, EventArgs e)
            {
                Form2 obj_frm = new Form2(dtgv.Rows[0].Cells[0].Value.ToString(), dtgv.Rows[0].Cells[1].Value.ToString());
                obj_frm.Show();
            }

      Y ahora bien tu Form2 los reconoceria de siguiente manera:

            stirin mi_dato1, mi_dato2;
    
            public Form2(string dato1, string dato2)
            {
                InitializeComponent();
                mi_dato1 = dato1;
                mi_dato2 = dato2;
            }

    lunes, 18 de mayo de 2015 20:53
  • hola

    aqui

    [WinForms] – Pasaje de información formulario hijo

    explico como podrias pasar info el form que estas abriendo, como veras se hace por medio del constructor

    aqui

    [WinForms] Edición Empleados

    tienes otro donde realizo la edicion previa seleccion de la entidad en el grid

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 18 de mayo de 2015 20:59
  • Lo que quiero lo ilustra la imagen, consulto los datos, el datagridview me trae la información, selecciono un registro y al oprimir el botón más detalles, me debe abrir el formulario Información Empleado y llenar los campos con el registro seleccionado.



    Walter Gómez

    lunes, 18 de mayo de 2015 22:54
  • hola

    pero ya habia quedado claro lo que querias lograr, ya sea que uses un boton de detalle o el click en la celda del grid para abrir el form

    la forma en que se pasan los datos es la misma, se realiza por medio del constructor

    analizaste el codigo de los articulos que recomende ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 19 de mayo de 2015 4:49
  • Gracias amigo, ya lo solucioné con un evento del DataGridView(CellContentClick), mil gracias.

    Walter Gómez

    martes, 19 de mayo de 2015 16:11
  • >>ya lo solucioné con un evento del DataGridView(CellContentClick)

    pero no tienes un boton de "mas detalles" ? como pudiste resolverlo con un evento del grid si defines un boton para lanzar el form

    quizas desde el click del boton usar el CurrentRow para tomar la fila seleccionada del grid

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 19 de mayo de 2015 16:17
  • No, simplemente quite ese botón y al poner el puntero sobre cualquier dato me abre el formulario, funciona como lo quería:

            private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                if (e.RowIndex >= 0)
                {
                    FormularioInformacionEmpleado FIE = new FormularioInformacionEmpleado();
                    FIE.Show();

                    DataGridViewRow row = this.DataGridView1.Rows[e.RowIndex];
                    FIE.txtTipoDocumento.Text = row.Cells["TipoDocumento"].Value.ToString();
                    FIE.txtDocumento.Text = row.Cells["Documento"].Value.ToString();
                    FIE.txtLugarExpedicion.Text = row.Cells["LugarExpedicion"].Value.ToString();
                    FIE.txtNombres.Text = row.Cells["Nombres"].Value.ToString();
                    FIE.txtApellidos.Text = row.Cells["Apellidos"].Value.ToString();
                    FIE.txtSexo.Text = row.Cells["Sexo"].Value.ToString();
                    FIE.dtpFechaIngreso.Text = row.Cells["FechaIngreso"].Value.ToString();
                    FIE.dtpFechaRetiro.Text = row.Cells["FechaRetiro"].Value.ToString();
                    FIE.dtpFechaActualizacion.Text = row.Cells["FechaActualizacion"].Value.ToString();
                    FIE.txtRutaArchivo.Text = row.Cells["RutaArchivos"].Value.ToString();      

                }
            }


    Walter Gómez

    martes, 19 de mayo de 2015 18:50