AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi DevExpress FullExpand Master/Detail mit gruppierten Feldern
Thema durchsuchen
Ansicht
Themen-Optionen

DevExpress FullExpand Master/Detail mit gruppierten Feldern

Offene Frage von "AirJordan"
Ein Thema von AirJordan · begonnen am 7. Jan 2006 · letzter Beitrag vom 9. Jan 2006
Antwort Antwort
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#1

DevExpress FullExpand Master/Detail mit gruppierten Feldern

  Alt 7. Jan 2006, 23:40
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:
{ 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. 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:
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.
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: DevExpress FullExpand Master/Detail mit gruppierten Feld

  Alt 9. Jan 2006, 08:14
Ü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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von AirJordan
AirJordan

Registriert seit: 29. Mär 2005
Ort: Hamburg
214 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: DevExpress FullExpand Master/Detail mit gruppierten Feld

  Alt 9. Jan 2006, 09:46
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:
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. 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... Ansonsten die beiden Hardcopys mal anschauen.
Miniaturansicht angehängter Grafiken
expande2_154.jpg   expande1_153.jpg  
Holger
Georg Schramm über Lothar Dombrowski:
"Er krankt daran, dass die Leute in einer
schrecklichen Welt leben und lachen..."

_
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz