Announcement

Collapse
No announcement yet.

dynamisch Variablen auslesen?

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

  • dynamisch Variablen auslesen?

    Hallo zusammen,

    ich habe in meinem Programm so ca 200 Variblen die belegt werden können, aber nicht müssen. Das hängt von der Anzahl der Spalten in meinem DataGrid ab.
    Die Variablen heißen alle gleich, mit einer fortlaufenden Nummer, also _R1 bis _R200.

    Diese möchte ich jetzt, abhängig von der Spaltenanzahl abfragen. Dh. wenn ich 3 Spalten habe, muss ich die Variablen _R1,_ R2 und _R3 abfragen.
    Ist es möglich die Variablen anzusprechen und die Nummer dynamisch zu generieren? Also zb. gib mir Variable "_R"+i

    Wie kann ich sowas machen?

  • #2
    Warum hast du einzelne Variablen und nicht einfach eine Liste von Variablen?
    Dann wäre deine Nummer einfach der Index in der Liste.

    Den Namen einer Variablen dynamisch zu erstellen und abzufragen geht per Reflection bei deiner Variablenmenge würde ich aber schon aus Performance Gründen davon braten.

    Prinzipiell sähe das per Reflektion aber so aus.

    Code:
    FieldInfo fieldInfo = dasObjectDasDieseVariableBesitzt.GetType().GetField("derNameDerVariablen", BindingFlags.Instance | BindingFlags.Public);
    object fieldData = fieldInfo.GetValue(dasObjectDasDieseVariableBesitzt);
    Details wirst du in der Hilfe über das Stichwort FieldInfo und/oder Type.GetField finden.

    Comment


    • #3
      das hab ich auch probiert mit der Liste, aber irgendwas hat da bei mir nicht gestimmt und ich konnte nicht mehr auf das MVVM-Pattern zugreifen.

      Das mit der Fieldinfo funktioniert. Habs mal mit ner richtig großen Tabelle gestestet (150 Spalten, 200 Zeilen) und das ist von der Perfomance noch sehr gut. (irgendwo im Millisekundebereich)

      Danke für die Hilfe

      Comment


      • #4
        das hab ich auch probiert mit der Liste, aber irgendwas hat da bei mir nicht gestimmt und ich konnte nicht mehr auf das MVVM-Pattern zugreifen.
        Kannst du das Problem kurz erläutern? Reine Neugier meinerseits.

        Comment


        • #5
          ich weiß ehrlich gesagt nicht mehr, wo genau das Problem lag. Die DataItems die im Pattern definiert werden sind auch die Source für das Grid. Jedes Item ist eine Zeile.
          Das Problem war, wenn ich mich recht erinnere, dass das ganze aussieht wie ein Excel-Blatt, oben eine Eingabefläche und darunter das Grid, und das ganze sich auch so verhalten soll wie Excel. Der Inhalt der einzelnen Zelle sollte in der Textbox oben angezeigt und editiert werden können und das syncron mit dem Grid. Und diese Syncronisiation bekommt man nur über das PropertyChange-Event hin. Und hier hat dann die Liste versagt. Ich muss vielleicht noch dazu sagen, das die Oberfläche in WPF gehalten ist.

          Comment

          Working...
          X