# ListView ... VB.NET



## Udo (15. Dezember 2002)

Hallo Leute!!

Ich weiß nicht ob ich hier im richtigen forum bin aber es gibt sonst kein passenderes Forum!!

Ist es möglich in VB.NET eine Listview zu erstellen, die man dann mit daten aus einer datenbank befüllen kann??

Wenn jemand ne ahnung hat wäre ich sehr dankbar!!

Frage deswegen, weil ich in VisualBasic 6.0 auch immer die Listview gegenüber einem Datagrid bevorzugt habe!!

THX im vorraus
Udo


----------



## Dario Linsky (15. Dezember 2002)

Klar geht das. Auch in VB.net gibt es noch ein ListView-Steuerelement. Die Methoden zum Auffüllen sollten da auch noch ähnlich aussehen, wie bei den alten Steuerelementen. Abgesehen von der etwas anderen Syntax müsste das also weitgehend gleich aussehen.

Ob es allerdings eine datengebundene Version vom ListView-Control gibt, weiss ich nicht. Zur Not eben mit Recordsets die Daten auslesen und selbst in die Liste eintragen.


----------



## Udo (15. Dezember 2002)

hy asphyxia!

Hab nicht direkt ein problem mit der Listview, denn die kann ich hardcodiert problemlos füllen, ist nur ein bischen eine andere Syntax als in VB6.0!

Habe eher ein Problem mit dem Dataset!
Bei anderen Steuerelementen, zb. listbox, datagrid, combobox, ... kann man einfach einen Datasource angeben, in dem fall das Dataset, das die Daten aus der Datenbank beinhaltet, aber bei der listview kann man keinen datasource angeben, und ich hab keine ahnung wie man aus einem Dataset die daten rausbekommt ohne das man einen Datasource angibt!!

Udo


----------



## Dario Linsky (15. Dezember 2002)

Mach das doch einfach mit einem ganz normalen ADO-Recordset-Objekt. Dann hast Du zwar kein wirklich datengebundenes Steuerelement, aber so würde ich das machen.
Dazu musst einfach jeden einzelnen Datensatz durchgehen und dann die einzelnen Felder in dem ListView mit den Daten aus dem Recordset füllen.


----------



## Udo (15. Dezember 2002)

yeeahh, habs entlich hinbekommen!!!

Mein Code:

```
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ListView1.FullRowSelect = True

        Dim SQL As String, cmdKunden As OleDb.OleDbCommand, drKunden As OleDb.OleDbDataReader, intstand As Integer

        SQL = "SELECT * FROM tblkunden order by k_nummer asc"

        cmdKunden = New OleDb.OleDbCommand(SQL, OleDbConnection1)

        OleDbConnection1.Open()

        drKunden = cmdKunden.ExecuteReader()

        While drKunden.Read()

            If drKunden("k_anrede") = "Herrn" Then
                intstand = 1
            Else
                intstand = 0
            End If

            Dim item1 As New ListViewItem("", intstand)
            item1.SubItems.Add(drKunden("k_anrede"))
            item1.SubItems.Add(drKunden("k_Vorname"))
            item1.SubItems.Add(drKunden("k_Nachname"))

            ListView1.Items.AddRange(New ListViewItem() {item1})

        End While


        Dim imageListSmall As New ImageList()

        imageListSmall.Images.Add(Bitmap.FromFile("C:\Dokumente und Einstellungen\Wusche\Eigene Dateien\Visual Studio-Projekte\Lan-Message\gelesen.bmp"))
        imageListSmall.Images.Add(Bitmap.FromFile("C:\Dokumente und Einstellungen\Wusche\Eigene Dateien\Visual Studio-Projekte\Lan-Message\ungelesen.bmp"))

        ListView1.SmallImageList = imageListSmall

    End Sub
```

Udo


----------

