none
¿Alguien puede ver donde me falta un .? RRS feed

  • Pregunta

  • Hola! Estoy intentando hacer un filtro con LINQ y estoy seguro de que la logica esta bien, pero el datagridview no me muestra nada. 

          Dim vlstFacturas As IEnumerable(Of CSFRAMEWORK.FacturaVenta)
            Dim cantfilas As Integer

            vlstFacturas = CSFRAMEWORK.FacturaVenta.Listar(frmVentas.Origen)
            cantfilas = vlstFacturas.Count() 'cantfilas=334
            vlstFacturas = From vFacturaVenta In vlstFacturas Where vFacturaVenta.Cliente = "OPTICA ZUR" Select vFacturaVenta
            cantfilas = vlstFacturas.Count() 'cantfilas=47

            lstBuscar.DataSource = vlstFacturas

    Gracias a la variable cantfilas comprobé que el filtro lo aplica correctamente. El lenguaje es vb.NET y la bd es SQL.

    Desde ya muchas gracias, saludos Claudio.


    lunes, 1 de abril de 2013 21:43

Respuestas

  • Disculpa el lapsus en un winforms no es necesario el databind. Prueba de esta forma:

    lstBuscar.DataSource = vlstFacturas.ToList

    Sería mejor que utilizaras una lista para llenar tu DataGrid.


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos


    • Editado José Barba lunes, 1 de abril de 2013 22:01
    • Marcado como respuesta Claudio Selva lunes, 1 de abril de 2013 22:45
    lunes, 1 de abril de 2013 21:57

Todas las respuestas

  • Hola Claudio debajo de:

    lstBuscar.DataSource = vlstFacturas

    agregar esto:

    lstBuscar.DataBind()


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    lunes, 1 de abril de 2013 21:44
  • Gracias por tu pronta respuesta, lo intente y el mensaje que me aparece es:

    Error 8 'DataBind' no es un miembro de 'System.Windows.Forms.DataGridView'.

    Saludos Claudio.

    lunes, 1 de abril de 2013 21:48
  • Disculpa el lapsus en un winforms no es necesario el databind. Prueba de esta forma:

    lstBuscar.DataSource = vlstFacturas.ToList

    Sería mejor que utilizaras una lista para llenar tu DataGrid.


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos


    • Editado José Barba lunes, 1 de abril de 2013 22:01
    • Marcado como respuesta Claudio Selva lunes, 1 de abril de 2013 22:45
    lunes, 1 de abril de 2013 21:57
  • hola

    con lstBuscar es el datagridview ? porque por el prefijo lst no pareciera

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 1 de abril de 2013 21:58
  • Es que mi nomenclatura es para auto documentar mi framework no el del Visual Studio.
    lunes, 1 de abril de 2013 22:48
  • si eso lo imagine, pero un lst es para un ListBox no para un datagridview

    ademas no veo que tiene que ver el ToList() con la reolucion del problema

    alli defines una query linq que al asignar el datagridview se ejecuta, es mas cuando ahce el count() en realidadlo hace, no veo que esto este afectando a como se carga el grid

    estas seguro que usar

    Where vFacturaVenta.Cliente = "OPTICA ZUR"

    devuelve algun registro ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 1 de abril de 2013 23:31
  • si eso lo imagine, pero un lst es para un ListBox no para un datagridview.

    Eso no es una convención, por lo menos hasta donde yo se. Y en la documentación de mi framework lstBuscar se aplica perfecto a la lista del formulario buscar. Ademas poco tiene que ver con mi problema donde especifico claramente que: "estoy seguro de que la lógica esta bien, pero el datagridview no me muestra nada." si se interpreta un poco el código se sobrentiende. Si esta bien el termino como denomino a el control o no es un debate que no tiene nada que ver.

    ademas no veo que tiene que ver el ToList() con la reolucion del problema

    El ToList() lo resolvio perfecto, no se porque, con el solo echo de agregarlo el código funciono.

    Si quieres saber técnicamente porque fue así, deberías preguntárselo a Jose Barba.

    alli defines una query linq que al asignar el datagridview se ejecuta, es mas cuando ahce el count() en realidadlo hace, no veo que esto este afectando a como se carga el grid

    Esto simplemente no es correcto, revisa el código nuevamente.

    estas seguro que usar

    Where vFacturaVenta.Cliente = "OPTICA ZUR"

    devuelve algun registro ?

    si, estoy seguro ya que utilizo la variable cantfilas para comprobarlo.

    Saludos Atte Claudio.

    martes, 2 de abril de 2013 0:05