AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Quantum Grid: Prüfen ob Gruppe aufgeklappt

Quantum Grid: Prüfen ob Gruppe aufgeklappt

Ein Thema von Mazen · begonnen am 24. Okt 2012 · letzter Beitrag vom 24. Okt 2012
Antwort Antwort
Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#1

Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 10:56
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?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 12:59
Ich habe es jetzt nicht ausprobiert aber IMHO müsste man über
    view.DataController.DataControllerInfo.DataGroups.Items[x].Expanded an die Information kommen ....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#3

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 14:15
Super, das hat schonmal geklappt
Nur hab ich jetzt ein anderes Problem. Und zwar mit der Funktion

Code:
tvBesucher.DataController.Groups.ChangeExpanding(int,boolean,boolean);
Diese Funktion funktioniert solange wunderbar bis man sie mehrmals nacheinander aufrufen will.
Also
Code:
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
würde wie erhofft die erste Gruppe aufklappen...
Und
Code:
tvBesucher.DataController.Groups.ChangeExpanding(1,true,false);
würde wie erhofft die zweite Gruppe aufklappen.
usw...

Aber
Code:
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(1,true,false);
Klappt nur die erste auf.

Und
Code:
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(1,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(2,true,false);
Nur die ersten beiden.
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:
tvBesucher.DataController.Groups.ChangeExpanding(0,true,false);
tvBesucher.DataController.Groups.ChangeExpanding(3,true,false);
Die erste und dritte Gruppe öffnen Oo

Gibt es da irgendeine Regelmäßigkeit die ich einfach nicht sehe? Oo
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 14:55
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.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 14:58
Versuch es mal in absteigender Reihenfolge
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#6

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 15:43
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.
Klang im ersten Moment einleuchtend. Aber nach einem Test kanns dann doch nicht so sein.
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.

Versuch es mal in absteigender Reihenfolge
Das sieht auf den ersten Blick echt gut aus. Werds mal ausgiebiger testen jetzt. Gibts dafür eine Erklärung das man absteigend vorgehen muss?

Geändert von Mazen (24. Okt 2012 um 15:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 15:48
Der Index scheint sich beim Expandieren zu verschieben...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#8

AW: Quantum Grid: Prüfen ob Gruppe aufgeklappt

  Alt 24. Okt 2012, 15:58
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?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:11 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