none
Llenar GridView con dos DataSource RRS feed

  • Pregunta

  • Buenas tardes!!

    Mi pregunta es si se puede llenar un GridView con dos datasource, me explico, tengo dos métodos en linQ que me dan unos resultados y necesitaría que se mostraran los resultados de cada método en el mismo gridview:

    gvBuscarUsuario.DataSource = admin.llenarGVUsuariosBuscados(tbBuscarUsuario.Text);
            gvBuscarUsuario.DataSource = admin.llenarGVUsuariosConCentros(tbBuscarUsuario.Text);
            gvBuscarUsuario.DataBind();

    El primer método lo que hace es devolver un listado con las personas que cumplen la condición de búsqueda, el segundo método me devuelve el nombre de los centros que en los que están esas personas. También comentar que entran en juego 3 tablas, pongo el código del segundo método por si puede aclarar algo:

    public Object llenarGVUsuariosConCentros(String dato)
        {
            GesProWebModel.GesProWebEntities gpv = new GesProWebModel.GesProWebEntities();
            
            var query = (from cen in gpv.tCENTROS
                         join ctu in gpv.tCENTROtieneUSUARIO on cen.idCentro equals ctu.idCentro
                         where (from usu in gpv.tUSUARIOS
                                join ctu2 in gpv.tCENTROtieneUSUARIO on usu.idUsuario equals ctu2.idUsuario
                                where (usu.idUsuario.Contains(dato) || usu.nombre.Contains(dato) || usu.apellidos.Contains(dato)) && (usu.borrado == 0)
                                select ctu2.idCentro).Contains(ctu.idCentro)
                         select cen.nombre ).ToList();
            return query;
        }

    Un saludo y muchas gracias.

    miércoles, 16 de enero de 2013 14:01

Respuestas

  • alli veo que al mismo gridview asignas dos metodos diferentes llenarGVUsuariosBuscados() y llenarGVUsuariosConCentros()

    esto hace que solo la ultima asignacion sea la que se cargue, ahora el metodo llenarGVUsuariosConCentros() que pones el codigo define un join de linq

    pero porque no creas un metodo que realice la unicon de las entidades y quizas cree una nueva usando en el linq el

    select new Entidad{

        prop1 = item.prop1,

        prop2 = item2.prop1

    }

    donde Entidad podria ser una clase que une la info de las otras entidades

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Egroj80 jueves, 17 de enero de 2013 15:27
    miércoles, 16 de enero de 2013 17:50

Todas las respuestas

  • alli veo que al mismo gridview asignas dos metodos diferentes llenarGVUsuariosBuscados() y llenarGVUsuariosConCentros()

    esto hace que solo la ultima asignacion sea la que se cargue, ahora el metodo llenarGVUsuariosConCentros() que pones el codigo define un join de linq

    pero porque no creas un metodo que realice la unicon de las entidades y quizas cree una nueva usando en el linq el

    select new Entidad{

        prop1 = item.prop1,

        prop2 = item2.prop1

    }

    donde Entidad podria ser una clase que une la info de las otras entidades

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Egroj80 jueves, 17 de enero de 2013 15:27
    miércoles, 16 de enero de 2013 17:50
  • Muchas gracias Leandro!!

    jueves, 17 de enero de 2013 15:28