kde2005 hat folgendes geschrieben: |
Wenn ich jetzt auf das dataGrid1 klicke(auf die Spalte: Namen_Spalte), dann will ich die ID bekommen. Wie geht das?
Das Ziel ist,dass ich anschließen mit der ID im DataSet nach weiteren Werten dieser Zeile suche kann. |
Das Form hat die Eigenschaft BindingContext. Diese hat einen Indexer, der dir den BindingManager zu einer DataSource geben kann[1].
Mit einer Referenz auf einen Bindingman hast du alles, was du brauchst.
C#-Quelltext
1: 2:
| int position = BindingContext[someListSource].Position; MyClass current = someListSource[position]; |
Generell kann ich nur empfehlen, langsam aber sicher sicher die Finger von .Net 1.1 zu lassen.
In 6 Wochen ist 2.0 final. Hast du bis dahin deine App fertig? Wenn nicht: Willst du dir deine Arbeit unnötig schwer machen?
Mit SWF 2.0 kommt die BindingSources als Komponente. Die kapselt die Datenherkunft (Collection, single Instance, DataSet, Array...) und gibt dir den BindingManager gleich dazu.[2]
Zitat: |
p.s. Weiß jemand ob es eine Eigenschaft bei dataGrid gibt, mit der man 'RowSelect=true' auswählen kann? |
Wie ich bereits schrieb, 2.0 is the way to go. SWF 2.0 bringt auch die DataGridView, die das eklige DataGrid ablöst.
Natürlich hat die DataGridView die Möglichkeit SelectionMode auf DataGridViewSelectionMode.FullRowSelect zu setzen...
[1]Wobei du auch noch genauere Infos angeben kannst, da die DataSource für verschiedene Controls in einem anderen Context arbeiten kann.
Für weitere Infos dazu: siehe SDK Doku
[2]Außerdem hast du so design time support um deine Klassen als Datenquellen nutzen zu können