![]() |
Quantum Grid: Prüfen ob Gruppe aufgeklappt
Hallo Leute.
Folgendes Problem: Ich habe meine Tabelle nach einer bestimmten Spalte gruppiert. Mit "tvBesucher.DataController.Groups.FullExpand" oder "tvBesucher.DataController.Groups.FullCollapse " lassen sich jetzt sämtliche Gruppierungen auf- oder zuklappen. Problem ist aber das ich nicht immer alle auf- oder zuklappen will. Ich weiß das ich mit "tvBesucher.DataController.Groups.ChangeExpand ing" eine einzelne Gruppe auf- und zuklappen kann, was ja schon das Verhalten ist was ich haben möchte. Nur gibt es leider keine Funktion wie etwa "tvBesucher.DataController.Groups.IsExpanded(Index )" die mir z.B. einen Boolean zurückgibt ob die Gruppe grade auf- oder zugeklappt ist. Das wäre sinnvoller wenn der Benutzer z.B. ein paar Gruppen zuklappt weil er sie zur Zeit nicht braucht. Problem ist das ich ab und zu ein "RefreshTable" auf meine Datasource machen muss und er dabei automatisch alle wieder zuklappt :? Hat da jemand eine Idee? |
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Ich habe es jetzt nicht ausprobiert aber IMHO müsste man über
Delphi-Quellcode:
an die Information kommen ....
view.DataController.DataControllerInfo.DataGroups.Items[x].Expanded
|
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Super, das hat schonmal geklappt :)
Nur hab ich jetzt ein anderes Problem. Und zwar mit der Funktion
Code:
Diese Funktion funktioniert solange wunderbar bis man sie mehrmals nacheinander aufrufen will.
tvBesucher.DataController.Groups.ChangeExpanding(int,boolean,boolean);
Also
Code:
würde wie erhofft die erste Gruppe aufklappen...
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
Und
Code:
würde wie erhofft die zweite Gruppe aufklappen.
tvBesucher.DataController.Groups.ChangeExpanding(1,true,false);
usw... Aber
Code:
Klappt nur die erste auf.
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(1,true,false); Und
Code:
Nur die ersten beiden.
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(1,true,false); tvBesucher.DataController.Groups.ChangeExpanding(2,true,false); Und wenn ich das hier jetzt weiter führe öffnet er immer nur die ersten beiden. Und um mich gänzlich zu verwirren würde
Code:
Die erste und dritte Gruppe öffnen Oo
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(3,true,false); Gibt es da irgendeine Regelmäßigkeit die ich einfach nicht sehe? Oo |
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Der erste Parameter ist der RowIndex von dem ersten Datensatz IN der Gruppe. Das ist kein Gruppenindex. Du musst also jeweils den RowIndex von der ersten Zeile in der Gruppe angeben, die Du aufklappen möchtest.
|
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Versuch es mal in absteigender Reihenfolge
|
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Zitat:
Setzte ich "7" als RowIndex ein (was der erste Datensatz meiner 2ten Gruppe wäre) kommt "RowIndex out of range.". Obwohl meine Tabelle über 20 Datensätze enthält. Zitat:
|
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Der Index scheint sich beim Expandieren zu verschieben...
|
AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt
Hab die zählweise jetzt verstanden. Etwas umständlich wie ich finde aber okay. Wenn mans weiß gehts auch so.
Er zählt nicht nur die einzelnen Datensätze als "RowIndex" sondern auch die "Groupheader". Also eine Mischung aus beidem. Ich dachte ja erst er würde nur die Groupheader zählen. Und von Nersgatt kam ja die Idee mit den Rows. Nur wenn ich jetzt ganz gezielt nur eine Group öffnen will, woher weiß ich in welcher "Zeile" diese Gruppe beginnt? Beispielsweise ich will Gruppe 3 öffnen, Gruppe 2 und 1 sind aber bereits offen und enthalten eine Variable Menge an Datensätzen. Wie kommt mein Programm dann an den RowIndex von Groupheader 3? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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