locked
Cargar datos a Listview con 2 tablas de la BD RRS feed

  • Pregunta

  • Hola, hace poco empece a hacer una aplicación básica de Inventario, pero mi problema es que quiero cargar 2 tablas de la base de datos,  en un mismo listview. 

    Mi pregunta es, es posible cargar 2 tablas de mi base de datos a un ListView? 

    NOTA: si puedo cargar una tabla, pero no se como se hace para hacer 2 en un mismo listview con 2 consultas.

    Editado: 

    Disculpen por no poner la información necesaria.

    Hago uso de Access y OleDb

    • Editado Razor911 miércoles, 26 de noviembre de 2014 20:43
    miércoles, 26 de noviembre de 2014 19:14

Respuestas

  • Depende que tecnología estés utilizando, LinQ, ADO NET etc. En el caso que estés utilizando ADO NET y objetos DataReader pues el listview le asignaras un sólo datasource (en realidad lo llenarás a mano ya que tengo entendido que el listview no tiene la propiedad DataSource). Puedes cargar la grilla utilizando un objeto DataReader el mismo que obtiene los datos desde un procedimiento almacenado. Ahora la tarea es que ese procedimiento almacenado tenga la información necesaria de las tabla que requieras, ya sea haciendo un INNER JOIN o un UNION ALL. Lo mismo pasará si obtienes los datos con LinQ, en este caso, tendrás que crear la consulta con sentencias LinQ que te permitan armar una colección que al final agregarás al ListView.


    • Editado Willams Morales miércoles, 26 de noviembre de 2014 19:48
    • Propuesto como respuesta webJoseModerator miércoles, 26 de noviembre de 2014 19:50
    • Marcado como respuesta Razor911 miércoles, 26 de noviembre de 2014 22:40
    miércoles, 26 de noviembre de 2014 19:44

Todas las respuestas

  • Depende que tecnología estés utilizando, LinQ, ADO NET etc. En el caso que estés utilizando ADO NET y objetos DataReader pues el listview le asignaras un sólo datasource (en realidad lo llenarás a mano ya que tengo entendido que el listview no tiene la propiedad DataSource). Puedes cargar la grilla utilizando un objeto DataReader el mismo que obtiene los datos desde un procedimiento almacenado. Ahora la tarea es que ese procedimiento almacenado tenga la información necesaria de las tabla que requieras, ya sea haciendo un INNER JOIN o un UNION ALL. Lo mismo pasará si obtienes los datos con LinQ, en este caso, tendrás que crear la consulta con sentencias LinQ que te permitan armar una colección que al final agregarás al ListView.


    • Editado Willams Morales miércoles, 26 de noviembre de 2014 19:48
    • Propuesto como respuesta webJoseModerator miércoles, 26 de noviembre de 2014 19:50
    • Marcado como respuesta Razor911 miércoles, 26 de noviembre de 2014 22:40
    miércoles, 26 de noviembre de 2014 19:44
  • Apoyo a williams.mp aquí.  Lo que usted necesita simplemente es cargar el ListView usando una consulta que contenga un UNION ALL que une la información de las dos tablas.

    Jose R. MCP
    Code Samples

    miércoles, 26 de noviembre de 2014 19:51
    Moderador
  • Hago uso de Access y OleDb, se puede hacer procedimientos en access? 
    miércoles, 26 de noviembre de 2014 20:48
  • No hay procedimientos almacenados en MS Access, pero sí hay UNION ALL.

    Jose R. MCP
    Code Samples

    miércoles, 26 de noviembre de 2014 20:50
    Moderador