Ein Listview in C# hat die gute Eigenschaft, tabellarisch die Elemente aus einer Datenbank darzustellen.
In meinem Beispiel hier, möchte ich zeigen wie man eine Liste mit mehreren Datenbankeinträgen gespeichert, einem Listview übergibt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
private void Fahrten_Load(object sender, EventArgs e)
{
//Löschen aller eventuellen Einträge aus dem Listview
    listViewAlleFahrten.Items.Clear();
/*Instanzieren des Objektes List "fahrten"
* in welcher alle Fahrten gespeichert sind
*/
    fahrtGLogic fahrten = new fahrtGLogic();
 
//Header (Überschriften) Listview, Nachkommastelle = Breite des Feldes
    listViewAlleFahrten.Columns.Add("Startkm", 75);
    listViewAlleFahrten.Columns.Add("Endkm", 75);
    listViewAlleFahrten.Columns.Add("Nummernschild", 100);
    listViewAlleFahrten.Columns.Add("Nutzungsart", 100);
    listViewAlleFahrten.Columns.Add("Zweck", 150);
    listViewAlleFahrten.Columns.Add("Startdatum", 80);
    listViewAlleFahrten.Columns.Add("Enddatum", 80);
 
//Auslesen einzelner Elemente (Fahrten) aus der Liste
    foreach (Fahrt a in fahrten.getFahrt())
    {
/*Befüllen der einzelnen Zeilen(Items) im Listview
* Hier muss das String Array die selbe Länge haben,
* wie Spalten im Listview
* Listview benötigt zum Darstellen das Format String
*/
      listViewAlleFahrten.Items.Add(new ListViewItem(new string[7]
      {
        Convert.ToString(a.pStartkm),
        Convert.ToString(a.pEndkm),
        a.Nummernschild,
        a.pNutzungsart,
        a.pZweck,
        Convert.ToString(a.pStartdatum.Date.ToShortDateString()),
        Convert.ToString(a.pEnddatum.Date.ToShortDateString())
      }
      ));
    }
}

Viel Spass beim Nachcoden.

Listview aus Datenbank fuellen / Tutorial Csharp .NET
Markiert in:            

10 thoughts on “Listview aus Datenbank fuellen / Tutorial Csharp .NET

  • Oktober 14, 2008 bei 14:21
    Permalink

    Gaanz wichtig, ich bin heute hier bald irre geworden, denn mein eigenes Tutorial wollte nicht funktionieren, bis uns hier aufgefallen ist, dass das Listview im Entwurfsmodus, in dem ListView Aufgaben Dialog (oben rechts der Pfeil), bei der Ansicht von LargeIcons auf Details eingestellt werden muss ….

  • Dezember 8, 2008 bei 17:37
    Permalink

    HI Sven, hmm was brauchste denn?
    Ist doch nur der Connection String?! Dann via read() in die List einlesen.

  • Dezember 8, 2008 bei 16:49
    Permalink

    schade hätteste mal den Punkt eingebaut, wo du die Daten aus der Datenbank in das Datenobjekt packst. Verzweifel gerade ein wenig, wie ich das Datum (MySQl – Date) wieder in das Datenobjekt bekomme :(

    Aber das Projekt kenn ich doch irgend wo her …

  • Mai 28, 2010 bei 15:53
    Permalink

    Hi
    vllt guck ja nochmal jemand hier rein.
    fahrtGLogic fahrten = new fahrtGLogic();

    da kommt bei mir immer das das nicht gefunden worden konnte hmm

  • Mai 28, 2010 bei 22:10
    Permalink

    Hallo Mirko,

    schildere Dein Problem doch mal etwas genauer ;)

  • Januar 13, 2011 bei 14:26
    Permalink

    die listview wird immer nur mit dem ersten Element der Datenbank gefüllt, wo ist der Fehler????

  • Januar 13, 2011 bei 14:29
    Permalink

    private void listviewFuellen()
    {
    try
    {
    con.Open();
    cmd.CommandText = „select * from “ + tabelle; //??????????????
    ausgabe();
    }
    catch (Exception ex)
    {
    MessageBox.Show(„ListViewFüllen: “ + ex.Message);
    }
    con.Close();
    }

    private void ausgabe()
    {
    try
    {
    reader = cmd.ExecuteReader();
    }
    catch (Exception ex) {
    MessageBox.Show(„Ausgabe“ + ex.Message);
    }

    listView1.Items.Clear();
    listView1.Columns.Clear();
    listView1.Columns.Add(„Datum“, 100);
    listView1.Columns.Add(„Firma“, 100);
    listView1.Columns.Add(„Bauleiter“, 100);
    listView1.Columns.Add(„Stunden“, 100);

    foreach (Object text in reader)
    {
    listView1.Items.Add(new ListViewItem(new String[4]
    {
    Convert.ToString(reader[„Datum“]),
    Convert.ToString(reader[„Firma“]),
    Convert.ToString(reader[„Bauleiter“]),
    Convert.ToString(reader[„Stunden“])
    }
    ));
    }

    reader.Close();
    }

  • Januar 13, 2011 bei 17:38
    Permalink

    Hallo Micha, Du muss den Teil wo du die Items hinzufügst in eine Schleife packen, solange wie dein Reader die Datensätze einliest.

    while(reader.Read())
    {
    // hier items adden
    }

  • März 6, 2011 bei 15:37
    Permalink

    Hi,
    Ich komme da bei dem fahrtGLogic fahrten = new fahrtGLogic(); irgendwie nicht mehr weiter kann mir irgend jemand helfen.
    Was bedeutet es überhaupt?

  • März 6, 2011 bei 17:28
    Permalink

    Hallo Jeanmy

    Mit „fahrtGLogic fahrten = new fahrtGLogic();“ erstellst (instanziierst) du eine neue Kopie der Klasse fahrtGLogic. In diesem Beispiel, welches auch schon recht alt ist, ist dieses Klasse leider nicht aufgeführt.

Kommentare sind deaktiviert.