locked
Cargar datagridview desde otro formulario RRS feed

  • Pregunta

  • Estimados

           Junto con saludar, intento llenar un datagridview desde una consulta a mi base de datos pero deseo que tenga una relacion documento-usuario lo cual no logro ya que los datos del usuario se encuentran en otro formulario. El problema es que al solicitar estos datos, estos llegan vacios a mi datagridview... el otro formulario tiene en sus funciones esconderse y abrir el fomulario que llena mi datagridview hay forma de poder solucionar dicho problema.

    Gracias

    lunes, 5 de junio de 2017 18:36

Respuestas

  • ¿Revisaste el artículo compartido por Leandro?, lo que requieres es claro y para nada complicado, necesitas "pasar" un valor escalar a la instancia de una clase, lo mismo explica y detalla el artículo.

     
    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 6 de junio de 2017 3:48
  • hola

    entiendo el form del grid es un form hijo, en ese caso el usuario deberias pasarlo por parametro en el contructor, como explico aqui

    Comunicar Formularios

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 5 de junio de 2017 20:35

Todas las respuestas

  • hola

    entiendo el form del grid es un form hijo, en ese caso el usuario deberias pasarlo por parametro en el contructor, como explico aqui

    Comunicar Formularios

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 5 de junio de 2017 20:35
  • Buenas Leandro

           He buscado informacion sobre el tema pero no hay una respuesta muy clara para comprender la solucion, espero poder darme a entender con mi explicacion. Tengo dos formularios, el Form1 posee el ingreso de usuario que al ser validado este se esconde bajo el evento .Hide() y luego este abre el Form2. El Form2 posee un datagridview que se rellena con los datos del usuario ya ingresado y ese es el problema no puedo crear una relacion entre el usuario y sus documentos que necesita... intente realizar este metodo con la ayuda de un textbox dentro del Form2 pero tengo mi datagridview en el evento Load de Form2 y en vez de cargar la infomacion necesaria queda todas las columnas en vacio.

    frmEntreeUtilisateur eusa = new frmEntreeUtilisateur();
                string usager = eusa.txtUser.Text;
                WSAuth.MySqlDBSoapClient WSClient = new WSAuth.MySqlDBSoapClient();
                DataSet ds = new DataSet();
                ds = WSClient.GetData(usager);
    
                DataTable dt = ds.Tables[0];
                foreach (DataRow dr in dt.Rows)
                {
                    string a, c, d, ex, f, g, h, i;
                    a = Convert.ToString(dr[0]);//codParte
                    c = Convert.ToString(dr[2]);//codUnidad
                    d = Convert.ToString(dr[3]);//nombreParte
                    ex = Convert.ToString(dr[4]);//tipoparte
                    f = Convert.ToString(dr[5]);//fechaparte
                    g = Convert.ToString(dr[6]);//horaparte
                    h = Convert.ToString(dr[7]);//undlegal
                    i = Convert.ToString(dr[8]);//pdfparte
                    dgvDocument.Rows.Add(a, c, d, ex, f, g, h, i);
                }
    Este es parte de mi codigo con el que relleno mi datagridview

    lunes, 5 de junio de 2017 21:19
  • Hola Nicolás; por lo que entiendo necesitas el dato validado del usuario para cargar el formulario, supongo que mediante un login que debe tener un TextBox1 cargado con el nombre, prueba invocar al inicio del Load a ese text desde el Form2

    string USUARIO = Form1.TextBox1.Text;

    Saludos

    martes, 6 de junio de 2017 1:47
  • ¿Revisaste el artículo compartido por Leandro?, lo que requieres es claro y para nada complicado, necesitas "pasar" un valor escalar a la instancia de una clase, lo mismo explica y detalla el artículo.

     
    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 6 de junio de 2017 3:48