VisualBasic Datagridview auslesen

Terson

Cadet 4th Year
Registriert
Okt. 2001
Beiträge
115
VB.Net 10
Ich hoffe dass mir hier jemand bei einem wahrscheinlich banalem Problem weiter helfen kann. Hier befindet sich ja die geballte Kompetenz :)

Ich habe ein Datagrid mit mehreren Spalten die. Ich möchte nun beim klicken in ein beliebige Zelle/Spalte immer den Wert der ersten Spalte aus der aktuellen Zeile an eine Textbox übergeben. Hier habe ich aber allem Anschein nach ein Brett vorm Kopf.

Code:
 Private Sub DGV1_CellEnter(sender As Object, e As_
 System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV1.CellEnter
        DGV1.CurrentCell = DGV1(0, DGV1.CurrentRow.Index)
        Info_01.Text = DGV1.CurrentCell.Value
...
..
..
END SUB
In der ersten Zeile will ich den Zeiger für die Spalte immer auf die erste Zelle setzen. Der Code läuft auch. Wenn ich aber in eine Spalte größer der ersten Spalte klicke, kommt es zu einer Fehlermeldung.
Wenn ich die erste Codezeile weg lasse läuft das Programm, ich erhalte aber halt immer den Inhalt der angeklickten Zelle.
Was muss ich ändern? Ist evtl. auch das ausgewählte Event (CellEnter) falsch?
Ergänzung ()

Niemand der eine Idee hat?
 
Ich möchte nun beim klicken in ein beliebige Zelle/Spalte immer den Wert der ersten Spalte aus der aktuellen Zeile an eine Textbox übergeben.

Versteh ich nicht ganz? Bitte differenziere Zellen, Spalten und Reihen... bzw. Columns, Rows und Cells

Bitte außerdem den vollständigen Code posten, so kann man damit wenig anfangen...
Welche Error-Message bekommst du?

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview_events.aspx <- hier hast du alle Events zum DataGridView.

Benutz mal das "CellClick"-Event...
über die EventArgs bekommst du die Position der Celle über e.RowIndex und e.ColumnIndex
 
Zuletzt bearbeitet:
Danke Erdmännchen!
Cellclick war mir irgendwie entgangen. Damit funktioniert es aber. Nun kanns weiter gehen.

Das Gute daran wenn man etwas länger auf eine Antwort warten muss ist, dass man sich selber noch mal rein kniet.

Code:
DGV1.CurrentCell = DGV1(0, DGV1.CurrentRow.Index)

In dieser Zeile wird ja die Zelle gewechselt und somit tritt ein CellEnter Event in Kraft. Es war bei dem von mir verwendeten Even also ein Zirkelbezug.

Wie ich es beschreibe sind es bestimmt nicht die richtigen Fachbegriffe, aber ich bin ja auch kein gelernter Informatiker :(
 
Hat ja nichts mit Informatik zu tun, wenn man in Tabellen arbeitet, sollte man trotzdem zwischen Reihe, Spalte und Zelle richtig unterscheiden.
Ist ja nur ein Hinweis, weil ich hab immernoch nicht begriffen, was du eigentlich machen willst ;)

Ist es so richtig?
Wenn man in deiner Tabelle in eine Zelle klickt, soll an andere Stelle in einer Textbox der erste Wert der ersten Zelle dieser Spalte, in der die angeklickte Zelle ist, ausgegeben werden?
 
So wie du es beschreibst ist es richtig.

Ich denke schon das ich die Begriffe Zelle/Zeile/Spalte richtig definieren kann. Ich glaube der Fehler den ich in meiner Beschriebung gemacht habe liegt in diesem Satz:
In der ersten Zeile will ich den Zeiger für die Spalte immer auf die erste Zelle setzen.
Hier kann man schnell den Begriff Zeile am Anfang des Satzes mit einer Tabellenzeile verwechseln.

Nochmals Danke. Bis zum nächsten mal.
 
Zurück
Oben