Ich habe eine DataGridView mit Zellen aus einer Datenbankdatei, die Daten enthält. Grundsätzlich möchte ich den Text aus den ausgewählten Zellen in der DataGridView abrufen und ihn in einem Textfeld mit einem Klick auf die Schaltfläche anzeigen. Der Code für das Klickereignis ist:
%Vor%Aber in TextBox1 bekomme ich:
System.Windows.Forms.DataGridViewSelectedCellCollection
Ich denke, es ist nicht so einfach wie es scheint. Ich bin ein C-Entwickler, der gerade VB.NET lernt.
DataGridView.SelectedCells
ist eine Sammlung von Zellen, Es ist also nicht so einfach, ToString()
aufzurufen. Sie müssen jede Zelle in der Sammlung durchlaufen und stattdessen den Wert jeder Zelle abrufen.
Im Folgenden wird eine durch Kommas getrennte Liste aller ausgewählten Zellenwerte erstellt.
C #
%Vor%VB.NET ( Übersetzt aus dem obigen Code)
%Vor%In diesem speziellen Fall gibt der ToString () den Namen des Objekts zurück, das von der SelectedCell-Eigenschaft erneut erstellt wurde (eine Sammlung der aktuell ausgewählten Zellen).
Dieses Verhalten tritt auf, wenn ein Objekt keine spezifische Implementierung für die ToString () -Methoden hat.
In unserem Fall müssen Sie lediglich die Sammlung der Zellen iterieren und ihre Werte in einer Zeichenfolge akkumulieren. dann drücke diese Zeichenfolge an die TextBox.
Sehen Sie hier, wie Sie die Iteration implementieren:
Oder falls Sie nur den Wert des ersten ausgewählten Verkaufs benötigen (oder nur eine ausgewählte Zelle, falls eine ausgewählt ist)
%Vor%Viele der Antworten auf dieser Seite beziehen sich nur auf eine einzelne Zelle, und OP hat nach all den ausgewählten Zellen gefragt.
Wenn Sie nur den Zellinhalt haben wollen und Sie sich nicht um Verweise auf die ausgewählten Zellen kümmern, können Sie Folgendes tun:
%Vor% Wenn Button1
angeklickt wird, wird TextBox1
mit den durch Kommas getrennten Werten der ausgewählten Zellen gefüllt.
Tags und Links vb.net datagridview tostring textbox