2008-09-07 8 views
3

Ich habe ein kleines Formular, das die DataLayoutControl-Komponente anzeigt.Wie kann man persistente Objekte speichern, die mit DataLayoutControl (DevExpress-Tools) verbunden sind?

Wenn ich ein GridControl verwende, werden die Objekte gespeichert. Wenn ich das DataLayoutControl (das sie einzeln anzeigt) verwenden, werden sie nach ihrer Änderung nicht gespeichert. Das zugrunde liegende Objekt wird nach der Bearbeitung der Benutzeroberfläche geändert, jedoch nicht gespeichert.

Wie kann ich dies aktivieren?

PS: Ich habe versucht, UnitOfWork.CommitChanges (ich habe eine Uow gehen durch die gesamte Architektur) vergebens.

Antwort

3

Sie sollten eine Sitzung und eine XPCollection auf dem Formular haben, auf dem sich das DataLayoutControl befindet. Sie sollten XPCollection mit Session haken. Sie wählen die richtige Klasse für die XPCollection aus und fügen möglicherweise einige Kriterien hinzu, die bewirken, dass die XPCollection null Datensätze zurückgibt. Hängen Sie die XPCollection an das DataLayoutControl an.

Dann sollten Sie einen Konstruktor mit einem Parameter angeben: Die OID des Objekts, das Sie bearbeiten möchten. Innerhalb des Konstruktors sollten Sie die Kriterien verwenden, damit die XPCollection nur dieses Objekt enthält. Stellen Sie sicher, dass Sie Session.Save() in der Schaltfläche Speichern oder im Menü aufrufen.