Hinzufügen von zwei Spalten-Werte in listbox vb.net
Ich habe eine Tabelle namens Benutzer, die die folgenden Spalten in es
User_id,user_name,user_pwd,First_Name,Middle_Name,Last_Name and user_type.
Ich habe dataset mit dem Namen dst und erstellt eine Tabelle namens Benutzer, die in das dataset. Ich will jetzt die listbox füllen mit user_Name
, First_Name
, Last_name
jeder und jede Zeile in der Tabelle Benutzer.
Ich bin in der Lage, fügen Sie eine Spalte mit dem Wert in einer Zeit, aber nicht immer, wie Sie mehrere Werte in der Spalte, jede Zeile nach listbox -
Dim dt As DataTable = Dst.Tables("user")
For Each row As DataRow In dt.Rows
lstUsers.Items.Add(row("User_Name"))
Next
Obige code funktioniert perfekt, aber ich möchte auch hinzufügen Vorname als auch als Nachname auf der Liste Feld zur gleichen Zeit.
- Versuchen Sie, haben 3 Spalten in der
ListBox
? - Nicht drei Spalten, die nur eine einzige Spalte aber, die müssen alle drei Werte in der Spalte aus der Tabelle user
- Sie hinzufügen möchten, wie dieser.?
user_Name1, First_Name1, Last_name1,user_Name2, First_Name2, Last_name2
- Haben Sie versucht
lstUsers.Items.Add(row("User_Name") + ", " + row("First_Name") + ", " + row("LastName"))
oder etwas ähnliches? Beachten Sie, dass ich würde vorschlagen, Bau die Zeichenfolge zunächst den Fall, dass einer der Spalten in derDataRow
null ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie denselben Ansatz wie Sie, aber setzen Sie alle Werte, die Sie wollen in einem string.
String.Format()
Funktion rufen.ToString()
auf alle Parameter.In diesem Fall, wenn
row(ColumnName)
istNULL value
dann.ToString()
Gegenzug nur leere ZeichenfolgeHaben Sie 2 Möglichkeiten:
Verwenden Sie die ListBox, setzen Sie die schriftart auf eine Feste Breite wie courier new (damit die Spalten line-up), und fügen Sie die Artikel wie diese:
Die RPAD-Funktion ist wie folgt definiert:
Passen Sie die LÄNGE-argument, wie gewünscht, in Ihrem Fall. Fügen Sie eine weitere für mindestens ein Leerzeichen. Diese Lösung ist weniger als ideal, da Sie die hart-code die Spaltenbreite.
Den code um sich das raster und fügen Sie die Zeilen geht so:
Könnte man dein problem gelöst, indem nun aber andere user wie mich haben könnte Problem mit ihm.
Die oben gegebenen Antworten war für mich auch, aber ich fand eine gleiche Antwort in einer einfachen Weise nach, was ich will..
Dieser arbeitete für mich, vielleicht falschen Weg, aber ich fand es einfach 🙂
Kann, schlage ich vor, Sie ein ListView-Steuerelement anstelle der Listbox?
Wenn Sie den Wechsel vornehmen, sind hier ein Beispiel-Unterroutine, die Sie nutzen könnten, um es zu füllen mit den Daten, die Sie sagten, Sie wollen. Passen Sie es, wie Sie mögen; es gibt viel Raum für Verbesserungen, aber Sie bekommen die Allgemeine Idee: