Announcement

Collapse
No announcement yet.

MainMenu Items aus DataSet

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

  • MainMenu Items aus DataSet

    Moin,

    ich lasse mir aus einer DB ein DataSet auslesen, welches wie folgt aussieht:

    ITEM_NAME
    LVL
    Datei
    1
    Öffnen
    2
    Einstellungen
    2
    Spezielle Einstellungen
    3
    Generelle Einstellungen
    3
    Info
    2
    Beenden
    2


    Meine Idee ist nun, dass ich mir daraus ein Menü zusammenbauen lasse. Die Level sind dazu da, damit ich weiss, welches Hauptpunkte und welches Unterpunkte sind.

    Hat jemand eine Idee, wie man das mit den MenuItems machen kann?

    Hab schon alles Probiert: AddRange, etc....

    Gruss
    Chris

  • #2
    Hallo,
    für alle derartigen Ideen gilt:
    1. ein Muster mit einigen Einträgen in der IDE erstellen
    2. InitializeComponents() untersuchen, welcher Code dafür vorbereitet ist
    3. diesen Code für die eigene Stapelverarbeitung umarbeiten
    4. die "Eigenentwicklung" keinesfalls in der Designer.cs unterbringen, sondern in Form.cs oder in einem weiteren "part" der partial class

    Gruß Jürgen

    Comment


    • #3
      Hallo Jürgen!

      Vielen Dank für die Hilfe, gerade für mich als Anfänger sind gute Ideen schon fast die halbe Miete.
      Hab mir den Code des Designers schon angeguggt. Soweit ich das verstanden habe, macht der eine Art Array auf und füllt dieses dann (ToolStripMenuItem).

      Genau das gleiche will ich auch machen. Deswegen lass ich mir schon bei der Datenbankabfrage für das DataSet die richtige Reihenfolge und die richtigen Level ausgeben.
      Mein Problem ist dabei erst alle Level 3 - Items zu erzeugen, diese dann in das passende Level 2 "einzuhängen" und dann alle Level 2 an das Level 1 "einzuhängen".

      Hoffe meine Idee geht in die richtige Richtung?!?!?

      Gruss
      Chris

      Comment


      • #4
        Hallo,

        ...erst alle Level 3 - Items zu erzeugen...
        die Daten für das Menü sind bereits im DataSet (DataTable-Instanz im DataSet). Daher kann eine DataView-Instanz für diese DataTable angefordert werden, um dort über die Eigenschaft RowFilter den gewünschten Level herauszusieben. Man erhält dann ein Ergebnis, das nur aus den Datensätzen besteht, dass zum aktuellen Level passt.

        Ich bin diese Woche auf der BASTA! und kann daher kein Beispiel beisteuern.

        Comment


        • #5
          Das Menü soll dann so aussehen (Symbolabbildung):



          Mittlerweile lese ich mit:
          Code:
          foreach (DataRow dtr1 in DataSetMenu.Tables[0].Rows)
          jede zeile einzeln aus...

          Comment

          Working...
          X