none
MOSTRAR 2 TABLAS EN EL MISMO DATAGRIDVIEW RRS feed

  • Pregunta

  • Hola a todos.Estoy intentando mostrar 2 tablas dentro de un mismo datagridview a traves de EntityFramewokr.Hasta aqui sin problema, ya que me muestra los datos que deseo de esta tabla llamada Docmtoes.Pero, como puedo llamar a otros valores de otra tabla?

     private void Refresh1()
            {
                using(Model.PagosEntities db= new Model.PagosEntitites())
                {
                    var lst = from  d in db.Docmtoes
                             select new {d.IdDocumento,d.EstatusAdmin,d.AutPrevia_Cancela,
                             d.ComentariosAdmin};
                    DgvLista.DataSource = lst.ToList();
                      
                }

    Para unirlas en SQL sin problema con un Join, pero aquí no se como va el código.Estas son otras tablas, pero supongo que es algo similar, solo ajustaría los valores que quiero mostrar de las 2 tablas que deseo.

    SELECT  v.Fecha,v.Emisor,v.Proveedor,v.Banco,v.Clabe_Interbancaria,v.Forma_de_Pago,c.Factura,
    c.Descripcion,c.Cantidad,c.Precio_Unitario,c.Importe,c.Descuento,c.Subtotal,
    		c.IVA,c.Retencion_ISR,Retencion_IVA,c.Total,v.Id_Usuario,d.FirstName,d.LastName,d.Position,d.Autorizado,d.ComentariosDir,d.Pagado,d.Fecha_de_Pago,d.ComentariosFinanzas	
    		FROM DatosOP as v
    INNER JOIN ConceptosOP c on c.Id_DatosOP=v.Id_Usuario
    INNER JOIN DatosOP b on c.Id_DatosOP=b.Id_Usuario

    lunes, 22 de junio de 2020 2:48

Respuestas

  • hola

    >>como puedo llamar a otros valores de otra tabla?

    Tienes que poner los datos combinados de ambas tablas en una class nueva que tengas propiedades de ambas

    private void Refresh1()
    {
    	using(Model.PagosEntities db= new Model.PagosEntitites())
    	{
    		var lst = from d in db.Docmtoes
    		      join x in db.XX on d.IdDocumento equals x.??
    			 select new NombreClassXX()
    			 {
    				IdDocumento = d.IdDocumento,
    				EstatusAdmin = d.EstatusAdmin,
    				AutPrevia_Cancela = d.AutPrevia_Cancela,
    			        ComentariosAdmin = d.ComentariosAdmin,
    				Prop1 = x.Prop1,
    				Prop2 = x.Prop2
    			};
    			 
      		DgvLista.DataSource = lst.ToList();
    	  
    	}
    }

    tienes que crear la class NombreClassXX por supuesto con un nombre que represente los que quieres mostrar en el grid

    >>Para unirlas en SQL sin problema con un Join, pero aquí no se como va el código

    tambien con un join de linq

    join (Cláusula, Referencia de C#)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta EricRRModerator lunes, 22 de junio de 2020 23:46
    • Desmarcado como respuesta MarZav viernes, 26 de junio de 2020 0:49
    • Marcado como respuesta MarZav viernes, 26 de junio de 2020 0:49
    lunes, 22 de junio de 2020 4:30

Todas las respuestas

  • hola

    >>como puedo llamar a otros valores de otra tabla?

    Tienes que poner los datos combinados de ambas tablas en una class nueva que tengas propiedades de ambas

    private void Refresh1()
    {
    	using(Model.PagosEntities db= new Model.PagosEntitites())
    	{
    		var lst = from d in db.Docmtoes
    		      join x in db.XX on d.IdDocumento equals x.??
    			 select new NombreClassXX()
    			 {
    				IdDocumento = d.IdDocumento,
    				EstatusAdmin = d.EstatusAdmin,
    				AutPrevia_Cancela = d.AutPrevia_Cancela,
    			        ComentariosAdmin = d.ComentariosAdmin,
    				Prop1 = x.Prop1,
    				Prop2 = x.Prop2
    			};
    			 
      		DgvLista.DataSource = lst.ToList();
    	  
    	}
    }

    tienes que crear la class NombreClassXX por supuesto con un nombre que represente los que quieres mostrar en el grid

    >>Para unirlas en SQL sin problema con un Join, pero aquí no se como va el código

    tambien con un join de linq

    join (Cláusula, Referencia de C#)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta EricRRModerator lunes, 22 de junio de 2020 23:46
    • Desmarcado como respuesta MarZav viernes, 26 de junio de 2020 0:49
    • Marcado como respuesta MarZav viernes, 26 de junio de 2020 0:49
    lunes, 22 de junio de 2020 4:30
  • Mil gracias Leandro, ya los muestra.

    Saludos, desde Monterrey México.

    martes, 23 de junio de 2020 2:37