none
¿Enlazar 2 tablas para un gridview? RRS feed

  • Pregunta

  • Tengo un código de un gridview que muestra los datos de la tabla usuarios, como en el siguiente ejemplo

    Bien, después cree una tabla distinta llamada ROLES que es algo asi;


    ¿Como le puedo hacer para enlazar la columna Rol(int) de la tabla usuarios y la columna ID (int) de la tabla ROLES?

    para cuando estos son iguales, se repente como en el siguiente ejemplo;


    No tengo idea de como se le llamaría a este método o donde puedo buscar algún ejemplo, por lo que les vengo pedir ayuda por acá!



    • Editado Nweryder viernes, 25 de enero de 2019 0:20 calidad de imagen
    miércoles, 23 de enero de 2019 23:20

Todas las respuestas

  • Si los datos vienen de una base de datos, lo mejor es que los unas en origen usando un Join. Busca dónde tienes la sentencia SQL que carga los datos de la tabla usuarios, que será algo parecido a esto:

    SELECT Nombre, Apellido, Username, Password, Email, Rol FROM Usuarios

    y cámbiala así:

    SELECT u.Nombre, Apellido, Username, Password, Email, r.Nombre as Rol FROM Usuarios As u JOIN Roles as r on u.Rol=r.IdRol


    jueves, 24 de enero de 2019 7:55
  • Hola,

     Una alternativa es realizar una join entre las tablas en SQL y obtener un DataSet con todo el resultado. Otra alternativa es hacer una join con LINQ de los objetos resultantes y así obtener el resultado obtenido.

    Un asludo

    jueves, 24 de enero de 2019 8:17
  • Hola amigo lo mas facil es hacer un join . Mira el ejemplo que esta mas abajo

    declare @Usuarios table
        (
          Nombre varchar(50) ,
          Apellido varchar(50) ,
          Rol int
        )
    declare @Roles table
        (
          IdRol int ,
          Nombre varchar(50)
        )
    
    insert  into @Usuarios
            ( Nombre, Apellido, Rol )
    values  ( 'Admin', -- Nombre - varchar(50)
              'Ninguno', -- Apellido - varchar(50)
              1  -- Rol - int
              )
              
    insert  into @Usuarios
            ( Nombre, Apellido, Rol )
    values  ( 'Usuario', -- Nombre - varchar(50)
              'Ninguno', -- Apellido - varchar(50)
              2  -- Rol - int
              )
              
    insert  into @Roles
            ( IdRol, Nombre )
    values  ( 1, -- IdRol - int
              'Aministrativo'  -- Nombre - varchar(50)
              )          
    
    insert  into @Roles
            ( IdRol, Nombre )
    values  ( 2, -- IdRol - int
              'Usuario'  -- Nombre - varchar(50)
              )                    
              
    
    select  u.Nombre ,
            Apellido ,
            Rol ,
            r.Nombre
    from    @Usuarios as u
            join @Roles as r on u.Rol = r.IdRol
         

    Resultado

       Nombre Apellido Rol Nombre
    1 Admin Ninguno 1 Aministrativo
    2 Usuario Ninguno 2 Usuario

    

    Bader Molinas

    Paraguay



    jueves, 24 de enero de 2019 20:00