Thema: Delphi DataSet und Rave

Einzelnen Beitrag anzeigen

oXmoX

Registriert seit: 8. Jun 2005
85 Beiträge
 
#10

Re: DataSet und Rave

  Alt 3. Apr 2007, 10:04
Hallo nochmal!

Leider habe ich noch immer Probleme mit dem TDirDataSet und Rave.

Folgendes möchte ich erreichen: Im Report soll eine verschachtelte Liste mit zwei Ebenen dargestellt werden. Die erste Ebene zeigt die Dateien aus dem aktuellen Verzeichnis, die zweite Ebene zeigt die Dateien aus den Unterverzeichnissen. Das lässt sich soweit ich weiß in Rave Reports über Master und Detail Databands realisieren.

Also habe ich TDirDataSet um einen Master- und einen Detailkey erweitert (Filename - der vollständige Dateiname mit Pfad und ParentDir - der vollständige Name des übergeordneten Verzeichnisses mit Pfad) und schließlich eine Klasse TSubDirDataSet hizugefügt, die nicht die Dateien des aktuellen Verzeichnisses zurückgibt, sondern die Dateien aus den Unterverzeichnissen des aktuellen Verzeichnisses.

Das Ergebnis habe ich als Attachment beigefügt incl. eines neuen .rav Projektes, das eine Region mit zwei DataBands enthält, die mit TDirDataSet (DataBand1 --> DataView1) bzw. TSubDirDataSet (DataBand2 --> DataView2) verknüpft sind. Wenn ich die Preview des Reports ausführe, sehe ich eine Liste, die im oberen Teil die Dateien des aktuellen Verzeichnisses enthält und im unteren Teil die Dateien der Unterverzeichnisse. Bis hierhin läuft alles nach Plan .

Und jetzt endlich zu meinem Problem: Wie muss ich die .rav konfiguriern, damit ich meine verschachtelte Liste bekomme?
Ich denke, dazu muss ich im DataBand2 das DataBand1 als Controllerband einstellen, sowie DataView1 als Master angeben. Dann setze ich den Masterkey auf FileName sowie den DetailKey auf ParentDir, right? Und zum Schluss stelle ich den Bandstyle von DataBand2 noch auf Detail ..auf diese Weise hat es bisher jedenfalls immer funktioniert.

...Funktioniert aber nicht mit dem TDirDataSet ...jetzt bekomme ich nur noch den Inhalt von DataBand1 angezeigt, obwohl es Unterverzeichnisse mit Dateien gibt (und für die gilt ja: Detail.ParentDir = Master.FileName).

Ich bin ziemlich ratlos. Kann es sein dass TDirDataSet nicht Threadsafe ist, dies aber für Rave erforderlich ist? Oder liegt es evtl. an einem Bug in Rave (Version 5.0 Borland Edition)?

Danke für jede Hilfe!
Angehängte Dateien
Dateityp: zip dirdataset_462.zip (41,7 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat