Announcement

Collapse
No announcement yet.

Datagridviews dynamisch erzeugenund ansprechen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datagridviews dynamisch erzeugenund ansprechen

    Folgendes Problem:

    Ich erzeuge zur Laufzeit Datagridviews und fülle diese mit Werten. An einer anderen Stelle des Programmes möchte ich diese auswerten, aber wie kann ich diese ansprechen?

    Bei der erzeugung der GridViews habe ich den DataGridViews einen indeutigen Namen gegeben mit DataGridView.Name = "name"

    Weiters habe ich mit DataGridView.Parent = ..... den Container zugewiesen in dem ich mein DataGridView sehen kann.

    Nun will ich von einer anderen Klasse aus das dynamisch erzeugte DataGridView ansprechen und Werte aus den Zellen auslesen. Aber wie ??

    Danke für eure Hilfe!

  • #2
    Hallo und willkommen,

    vielleicht musst Du Dein generelles Vorgehen ändern: Daten werden (jedenfalls in aller Regel) nicht direkt in ein DataGridView eingetragen, sondern in ein eigenes Objekt (meistens DataTable), und dieses wird als DataSource an das DataGridView gebunden.

    Wenn Du das so machst, kannst Du über dieses Objekt auch von anderen Stellen zugreifen.

    Wenn es Dir auf den jeweils aktuellen Datensatz ankommt, dann kannst Du eine BindingSource dazwischenschalten; dort gibt es u.a. die Current-Eigenschaft.

    Ich hoffe, das hilft Dir weiter. Oder habe ich Dein Problem völlig falsch verstanden? Jürgen

    PS. Du kannst über die Controls-Auflistung auch das in den Container eingebettete DataGridView finden. Ich glaube aber nicht, dass dieses Vorgehen sinnvoller ist.

    Comment


    • #3
      Hallo Jürgen,

      danke vorerst für dein Bemühen.

      komm damit nicht ganz weiter. Ich benötige nicht den aktuellen Datensatz, sondern jeden Datensatz aus den n-DataTables oder n-DataGridViews.

      Wenn ich über eine DataTable meine Datensätze verwalte, stehe ich vor dem selben Problem, dass zur Laufzeit n-Datatables und n-DataGridViews generiert werden müssen (abhängig von der Anzahl an Gurppen die in der Datenbank vorkommen).

      1. Ich kann die Objekte nicht in einer Klasse (in der Form in welcher ich diese benötige) vorweg deklarieren, da ja die Anzahl der GridViews und Tabels nicht konstant ist.

      2. Im Moment erzeuge ich GridViews in einer Funktion indem ich sie lokal deklariere und mit Columns und Rows versehe, zum Schluss mit Datagridview.Parent = Container meinem Container (ein FlowLayoutPanel) hinzufüge.

      3. Ich kann die GridViews mit den Daten sehen, passt alles...

      4. Frage: Nachdem diese Aktion, die über einen Button gesteuert wird und fehlerlos abgeschlossen ist, sollen durch Betätigung eines anderen Butttons diese Daten ausgelesen werden. Aber wie? Mir ist nicht klar wie ich auf diese Objekte, welche lokal deklariert und mit Add hinzugefügt wurden, von wo anders aus zugreifen kann....
      Zuletzt editiert von peterxskier; 03.09.2008, 11:27.

      Comment

      Working...
      X