+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Dom im Gruppenfuss dynamische Zeilen erstellen


(Guest) #1

Hallo Zusammen

C++ MVC
als Grundlage hat mir das Beispiel "List & Label DOM (Visual C++) geholfen.

Ich möchte gerne Zur Laufzeit im Gruppenfuss dynamische Zeilen haben.
Das heisst, einmal könnten es 10 Zeilen sein, einmal könnten es 3 Zeilen sein.

Dies würde ich gerne per Dom machen.
Das Design, wie die Zeilendefinition aussieht würde ich aber gerne im Designer machen.

Meine Vorstellung wie das zur Laufzeit geht.

  1. Alle Gruppenfusszeilen löschen ausser die erste Zeile
  2. erste Zeilen abfüllen
  3. Falls es mehrere Zeilen gibt, eine Kopie der aktuellen Zeile machen.
  4. in die neu erstelle Datenzeile die Inhalte abfüllen

Zu 1. Habe ich zwar noch nicht ausprobiert, müsste aber mit der Funktion LlDomDeleteSubobject gehen.
Zu 2. Ich kann darauf zugreifen und die Werte abfüllen.
Zu 3. Ich kann Datenzeilen erstellen, jedoch nicht kopieren
Zu 4. gleich wie 2

Hoffe dies wahr verständlich genug.
Was ich nicht will ist eigentlich die Datenzeile zu lesen und dann jede Eigenschaft von Hand zu lesen und dies der neuen Datenzeile zu übergeben.

Gibt es eine solche Funktion wie kopieren?
Oder gäbe es eine andere Möglichkeit?

Für jede Hilfe bin ich Dankbar

Gruss
Philipp


(Guest) #2

Hallo Herr Clement,

vielen Dank für Ihren Beitrag.

Für derartige Vorhaben steht die CopyFrom-Methode der DOMItem-Klasse zur Verfügung. Der Code zum Kopieren einer Datenzeile könnte wie folgt aussehen (.NET)

...
ObjectReportContainer BerichtsContainer = (ObjectReportContainer)proj.Objects[0];
SubItemTable table = (SubItemTable)BerichtsContainer.SubItems[0];
TableLineData data1 = (TableLineData)table.Lines.Data[0];
TableLineData data2;
data2 = null;
data2.CopyFrom(data1);
...

Mit freundlichen Grüßen

Christian Rauchfuß
Technischer Support
combit GmbH