Announcement

Collapse
No announcement yet.

Wizard Problem

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

  • Wizard Problem

    Hallo Welt,

    ich muss zur Zeit ein Wizard programmieren und das bereitet mir ein paar Schwierigkeiten.

    Dem Wizard werden verschiedene Personen per Parameter übergeben.
    Der Wizard besteht aus drei Seiten über die man Eigenschaften dieser Personen konfigurieren kann.
    Die Personen werden nacheinander abgearbeitet.



    Der Master ist ein Windows Form, der nur das Layout und die Buttons zum weiterschalten enthält. Der Inhalt kommt von Benutzersteuerelementen (Seite1.cs, ...).
    Wird bei Seite 3 von Person 1 auf "Fertig" gedrückt, werden alle Seiten für die nächste Person neu erstellt.

    Und jetzt kommt das Problem:

    Auf Seite 1 hab ich ein DataGridView. Das Steuerelement wird mit Daten zu der entsprechenden Person gefüllt , wenn die Seite erstellt wird. Die Daten stammen aus einer SQL Datenbank.
    Bei Person 1 funktioniert das wunderbar, doch bei der zweiten Person zeigt er mir immer noch die Daten von Person 1.

    Mit diesem Code erstellt der Master die drei Seiten:

    [highlight=c#]void nextPers(string Person)
    {
    aktuellePerson = Person;
    ActiveDirect = new ADConnect(aktuellePerson);
    this.wizardSeite_1 = new WizardSeite_1(this, DataBase, ActiveDirect);
    this.wizardSeite_2 = new WizardSeite_2(this, DataBase, ActiveDirect);
    this.wizardSeite_3 = new WizardSeite_3(this, DataBase, ActiveDirect);
    }[/highlight]

    und hier wird die Tabelle von Seite 1 gebastelt :

    [highlight=c#]
    DBTable.Columns.Clear();
    DBTable.Columns.Add(new DataGridViewCheckBoxColumn());
    DBTable.Columns[0].ValueType = typeof(Boolean);
    DBTable.Columns[0].Width = 20;
    DBTable.Columns[0].FillWeight = 20;
    DBTable.DataSource = dSet.Tables[0];
    [/highlight]

    Ich hoffe das Ihr eine Idee habt, was hier nicht stimmt.

    Mfg

    SteakHolder
    Zuletzt editiert von SteakHolder; 05.10.2009, 11:23.

  • #2
    Du weißt die neuen UserControls für die Seiten zwar irgendwelchen Variablen zu aber sorgst nicht dafür das diese auch angezeigt werden bzw. die alten ausgeblendet werden.

    Du musst also die alten Seiten aus der Controls Collection der Master seite entfernen und die neuen der Collection hinzufügen. Dabei sind die Variablen (wizardSeite_1 etc.) unwichtig.

    Ich würde nochmal überlegen die Trennung zwischen Daten und Form anders (besser) zu gestalten. Normalerweise sollte es unnötig sein die UserControls neu zu erzeugen. Das austauschen der Datenmengen sollte reichen.

    Comment


    • #3
      Danke!

      Hi,

      danke für die schnelle Hilfe !

      Problem gelöst:

      Code:
      Wizardpanel.Controls.Clear();
      Und über die Usercontrole - variablen Trennung werde ich nochmal nachdenken.

      mfg,

      SteakHolder

      Comment

      Working...
      X