![]() |
DevExpress FullExpand Master/Detail mit gruppierten Feldern
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:
Delphi-Quellcode:
Dabei bleiben aber die Detailverbindungen noch geschlossen. Die bekomme ich in einer Schleife durch alle
{ alle Profildatensätze ausklappen }
if s then tvProfilTB.DataController.Groups.FullExpand else tvProfilTB.DataController.Groups.FullCollapse; 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:
Delphi-Quellcode:
Wie gesagt, die Masterdatensätze klappen aus und wieder zusammen, die Detaildatensätze bleiben eingeklappt.
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; Hat einer eine Idee? Danke für eure Hilfe. |
Re: DevExpress FullExpand Master/Detail mit gruppierten Feld
Über MyView.Clones hast Du, glaube ich, Zugriff auf alle Detailviews. Aber wenn Du die Eigenschaften Pattern-View (IsPattern=True) der Details änderst (z.B. mit Expanded), solltest Du über ClearDetails diese Änderungen an alle Detailviews übertragen können. Steht jedenfalls so in der Hilfe. Ausprobiert hab ich's aber nicht.
|
Re: DevExpress FullExpand Master/Detail mit gruppierten Feld
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Alzaimar,
vielen Dank für deine Antwort. 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.
Delphi-Quellcode:
Wenn man sich auf einem Masterdatensatz befindet und den Schalter zum Ausklappen drückt klappen nur die Gruppenfelder
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; des Master aus. :? Wenn man jetzt aber einen Master auswählt, der auch Detaildatensätze hat, dann bleiben die Detail- sä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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz