none
VB2010 - Como llenar un listview en WPF RRS feed

  • Pregunta

  • Estimados,

    tengo un proyecto en capas(datos, negocio y presentación) en donde quiero hacer una prueba para llenar un listview en WPF.

    En mis aplicaciones de Winform lo hacía de esta forma pero ahora en WPF no sé como hacerlo:

    Dim oREG As New Business.Registro

    Dim oDataBuscar As New DataTable

     

        Private Sub LLenarDetalle()

            Dim item As New ListViewItem

            lvDetalle.Items.Clear()

     

            oDataBuscar = oREG.BuscarRegistro().Tables("Registro")

     

            If oDataBuscar.Rows().Count > 0 Then

     

                For Each fila As DataRow In oDataBuscar.Rows()

                    item = lvDetalle.Items.Add(fila("FOLIO"))

                    item.Tag = fila

     

                    item.SubItems.Add(fila("CAMPO1"))

                    item.SubItems.Add(fila("CAMPO2"))

                    item.SubItems.Add(fila("CAMPO3"))

                    item.SubItems.Add(IIf(CInt(fila("CAMPO4")) = 0, "-", FormatCurrency(CInt(fila("TARIFA")), 0)))

                Next

            End If

         End Sub

     

    • Tipo cambiado Marco Elgueta miércoles, 2 de febrero de 2011 3:06
    • Cambiado jtorrecilla viernes, 4 de febrero de 2011 13:50 (De:Lenguaje VB.NET)
    miércoles, 2 de febrero de 2011 3:05

Respuestas

Todas las respuestas

  • Marco,

    Añadir controles a un ListView es así:

     

     

    Me.ListView1.Items.Add("Item1")

    Me.ListView1.Items.Add("Item2")

    El ListBox no tiene jerarquías de controles. Si necesitas controles con jerarquía tienes el TreeView o el DataGrid


    Un Saludo
    miércoles, 2 de febrero de 2011 10:51
  • Estimado,

    no sé que estaré haciendo mal pero no se llena el listview:

    XAML:

    <ListView Name="lvwMain">

            <ListView.View>

                <GridView>

                    <GridViewColumn Width="100" Header="Folio" DisplayMemberBinding="{Binding FOLIO}"  />

                    <GridViewColumn Width="100" Header="Tarifa" DisplayMemberBinding="{Binding TARIFA}"/>

                 </GridView>

            </ListView.View>

        </ListView>

    VB:

            oDataBuscar = oREG.BuscarRegistro().Tables("Registro")

     

            For Each fila As DataRow In oDataBuscar.Rows()

                lvwMain.Items.Add(fila("FOLIO"))

                lvwMain.Items.Add(IIf(CInt(fila("TARIFA")) = 0, "-", FormatCurrency(CInt(fila("TARIFA")), 0)))

            Next

     

    miércoles, 2 de febrero de 2011 14:26
  • Probé haciendo esto, pero solo quiero mostrar dos columnas y me muestra todas. El código XAML se mantiene:

    Private Sub LLenarDetalle()

            Dim gv As New GridView

     

            oDataBuscar = oREG.BuscarRegistro().Tables("Registro")

     

     

            For Each c As DataColumn In oDataBuscar.Columns

                Dim gvColumn As New GridViewColumn

     

                gvColumn.DisplayMemberBinding = New Binding(c.ColumnName)

                gvColumn.Header = c.ColumnName

                gv.Columns.Add(gvColumn)

            Next

     

            lvwMain.View = gv

            lvwMain.DataContext = oDataBuscar

     

            Dim bind As New Binding

            lvwMain.SetBinding(ListView.ItemsSourceProperty, bind)

        End Sub

    jueves, 3 de febrero de 2011 21:27
  • Alguna ayuda de que puedo hacer?
    viernes, 4 de febrero de 2011 13:47
  • Para que obtengas mejores respuestas te coloco en el foro adecuado el post.
    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    viernes, 4 de febrero de 2011 13:51
    • Propuesto como respuesta El Maiks miércoles, 9 de febrero de 2011 16:47
    • Marcado como respuesta Marco Elgueta miércoles, 9 de febrero de 2011 19:23
    miércoles, 9 de febrero de 2011 16:47
  • buenas un problema que tengo con algo parecido estoy tratando de llenar un listview con imagenes que estan en la base de datos en una aplicaion wpf pero a la hora de ejecutarla en los items del listview no me cambia la imagen le asigna a todos los items la misma imagen estoy desarrollando en c#
    martes, 6 de diciembre de 2011 16:25