Autor Beitrag
AirJordan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

WinXP, Win7, Win2008 Server
D7 Enterprise
BeitragVerfasst: So 08.01.06 00:51 
Schönen guten Abend,

eine Frage an die QuantumGrid Experten hier im Forum.

Wie schafft man es, ein MasterDetail Grid, in dem das MasterGrid nach einem Feld gruppiert ist und das
Detailgrid nach einem Datumsfeld gruppiert ist, entweder komplett "auszuklappen" (also FullExpand) oder,
was besser wäre, nur die Detaildatensätze des ausgewählten Masterrecord.

Mit folgenden Code klappt die Gruppe des Master aus:

ausblenden Delphi-Quelltext
1:
2:
3:
{ alle Profildatensätze ausklappen }
if s then tvProfilTB.DataController.Groups.FullExpand else
          tvProfilTB.DataController.Groups.FullCollapse;


Dabei bleiben aber die Detailverbindungen noch geschlossen. Die bekomme ich in einer Schleife durch alle
Masterdatensätze auf. :roll: Und dann müssten noch die Datensätze der Datumsgruppe aufklappen. Das geht
aber nicht. Und das andere gefällt mir eigentlich auch nicht so, da viel zu langsam. Das Ganze sieht dann
wie folgt aus:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
try
 { alle Profildatensätze einmal durchlaufen }
 iProfileRecords := tvProfilTB.DataController.DataSetRecordCount;
 i := 1;
 { zunächst auf das erste Profil positionieren }
 tvProfilTB.DataController.GotoFirst;
 while i <= iProfileRecords do
 begin
   { dann den Detailsatz des Profils ausklappen und }
   tvProfilTB.Controller.FocusedRecord.Expanded := s;

   { Hier wollte ich irgendwie die Views wechseln }
   { es sieht so aus, als ob die Detaildatensätze }
   { nicht ausklappen, weil der Fokus sozusagen   }
   { nicht auf dem Detaildatensätzen liegt.       }
   { Klappt aber nicht:                           } 
   cxTagebuch.FocusedView := tvTagebuch;
   { ... die Tagebuchdatensätze gruppiert nach Datum }
   if s then tvTagebuch.DataController.Groups.FullExpand else
             tvTagebuch.DataController.Groups.FullCollapse;
   cxTagebuch.FocusedView := tvProfilTB;
   { bis hier }

   { das nächste Profil }
   tvProfilTB.DataController.GotoNext;
   Inc(i);
 end;    // while
 tvProfilTB.DataController.GotoFirst;
finally
 { wieder die Eingabeelemente aktivieren }
 DIAProfile.EnableControls;
end;


Wie gesagt, die Masterdatensätze klappen aus und wieder zusammen, die Detaildatensätze bleiben eingeklappt.
Hat einer eine Idee? Danke für eure Hilfe.

_________________
Wer nichts verdient außer Geld, verdient nichts außer Geld...
diabklick! Die Diabestes Tagebuchsoftware
AirJordan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

WinXP, Win7, Win2008 Server
D7 Enterprise
BeitragVerfasst: Mo 09.01.06 11:07 
Hi,

Ich habe am Wochenende mich durch die Newsgroup durchgebissen und einige nützliche Hinweise und
Tipps erhalten. Wie folgt habe ich das Problem fast! lösen können.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
try
  { alle Profildatensätze ausklappen }
  if s then tvProfilTB.DataController.Groups.FullExpand else
            tvProfilTB.DataController.Groups.FullCollapse;

  { alle Tagebuchdatensätze ausklappen }
  for i := 0 to tvTagebuch.CloneCount - 1 do
    if s then tvTagebuch.Clones[i].DataController.Groups.FullExpand else
              tvTagebuch.Clones[i].DataController.Groups.FullCollapse;
finally
  { wieder die Eingabeelemente aktivieren }
  DIAProfile.EnableControls;
end;


Wenn man sich auf einem Masterdatensatz befindet und den Schalter zum Ausklappen drückt
klappen nur die Gruppenfelder des Master aus. Confused Wenn man jetzt aber einen Master
auswählt, der auch Detaildatensätze hat, dann bleiben die Detailsätze zwar unausgeklappt,
aber nach dem Drücken des "Plus" sind dennoch alle Gruppen der Detaildatansätze ausgeklappt.

Ich hoffe man versteht mich... :roll: Ansonsten die beiden Hardcopys mal anschauen.
Einloggen, um Attachments anzusehen!
_________________
Wer nichts verdient außer Geld, verdient nichts außer Geld...
diabklick! Die Diabestes Tagebuchsoftware