2009-03-13 21 views
1

zur Listenansicht Wenn ich neue Werte zu einem Listview hinzufügen mit:das Hinzufügen von Elementen zur Laufzeit

Set lstView = ListView(0).ListItems.Add(, , txtName) 
    lstView.ListSubItems.Add , , txtValue 
    lstView.Refresh 

Das einzige Problem ist, dass dies zeigt nur eine leere neue Zeile in der Listenansicht, eine Idee, wie man es richtig aktualisieren?

Normalerweise verwende ich ein Recordset, also einfach löschen und dann die Daten erneut auffüllen, aber ich brauche den Benutzer in der Lage sein, Einträge zur Listview hinzufügen. Ich werde dann durch die Listenansicht zyklisch die Werte der DB hinzufügen, nur wenn der Benutzer das Ändern der Listenansicht abgeschlossen hat.

Vielen Dank im Voraus für jede Hilfe.

Antwort

4

Vorausgesetzt, dass die .View-Eigenschaft Ihrer ListView auf "Report" eingestellt ist, fügt das Folgende dem Steuerelement einige Zeilen hinzu und legt den Unterelementtext fest.

Dim li As ListItem 

With ListView1 
    .ColumnHeaders.Add , , "One" 
    .ColumnHeaders.Add , , "Two" 
    .ColumnHeaders.Add , , "Three" 

    Set li = .ListItems.Add(, , "Row1Item1") 
    li.SubItems(1) = "Row1Item2" 
    li.SubItems(2) = "Row1Item3" 

    Set li = .ListItems.Add(, , "Row2Item1") 
    li.SubItems(1) = "Row2Item2" 
    li.SubItems(2) = "Row2Item3" 
End With 
+0

Das ist nicht der Code, den ich bereits in der Frage habe, wenn ich es richtig lese? Mein Problem ist, dass, wenn ich dann gehen und eine weitere Reihe von Daten zu einem späteren Zeitpunkt hinzufügen wollte, die Zeile der Daten nicht in der Listenansicht angezeigt wird, aktualisiert sie sich nicht. – Denvar

+0

Der erste Liner ist ein wichtiger Erzieher für Anfänger - Setting View Eigenschaft zu Report.Thanks dafür –

0

Ich persönlich verwende gerne die string [] überschreiben für jede Spalte, die ich in meiner Listenansicht habe.

ListViewItem listItem = new ListViewItem(new string[] { "column 1 value", 
                 "column 2 value" }); 
listItem.Tag = myObjectProvidingTheValues; 
listView_myListView.Items.Add(listItem); 

EDIT: Nun, ich habe Ihnen den C# -Code und Sie den VB-Code gesucht. Ich bin mir nicht sicher, was das ist. Wenn Sie .NET verwenden, sollten die gleichen Konzepte gelten. Wenn Sie VB6 verwenden, bin ich nicht sicher, was genau die Nuance ist.

0

Ignorier mich das war aufgrund eines nicht verwandten (scheinbar) Problem, das jetzt gelöst wurde. Auf den vorherigen Postern wurden die richtigen Methoden zum Hinzufügen von Elementen zu Listenansichten aufgeführt, ebenso wie der ursprüngliche Code in meiner Frage.

Verwandte Themen