AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DevExpress Summe

Ein Thema von yamaha007 · begonnen am 21. Jul 2009 · letzter Beitrag vom 8. Okt 2009
Antwort Antwort
Seite 1 von 3  1 23      
yamaha007

Registriert seit: 16. Jul 2009
17 Beiträge
 
RAD-Studio 2009 Ent
 
#1

DevExpress Summe

  Alt 21. Jul 2009, 09:00
Hallo,

ich möchte im DevExpress Grid in der Gruppenfusszeile bei jeder neuen Berechnung die Ausgabe formatieren.

Die Spalte ist in hh:mm formatiert.
Die Summe wird aber dez ausgegeben.

Jetzt möchte ich bei jeder Änderung(Neuberechnung) den Wert formatieren und dann überschreiben.

Welches Ereignis nehme ich?
DataController.SummaryFooterSummaryItems.OnSummary ?

Wie wird der Wert ausgelesen und dann überschrieben ?


Benutze Delphi 7

Danke schon mal - Lothar
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: DevExpress Summe

  Alt 21. Jul 2009, 09:20
Hallo,

wenn du dir ein Footer erstellst, dann nimm doch das Event GetText vom Summary-Item

als Beispiel ...

TcxGridDBDataController.TcxDataSummary.FooterSummary.Items[0].GetText(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string) Den Wert entnimmst du von AValue, den du dann bei AText formatiert darstellen kannst. Ich hoffe du kannst damit etwas anfangen.

Gruß
Matze
  Mit Zitat antworten Zitat
yamaha007

Registriert seit: 16. Jul 2009
17 Beiträge
 
RAD-Studio 2009 Ent
 
#3

Re: DevExpress Summe

  Alt 21. Jul 2009, 11:16
Hi, das klappt. Danke schon mal.

So kann ich die Fusszeilensumme formatieren.

Was ich allerdings noch brauche ist die GRUPPENfusszeilensumme.

D.h. ich ziehe eine Spalte nach oben um danach zu gruppieren.

z.B. Name

Dann blende ich die Gruppenfusszeile ein und dann die Summe.

Dann habe ich ein SummeFeld unter jeder Gruppierung.

Das müsste ich ebenfalls formatieren.

Grüsse Lothar
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: DevExpress Summe

  Alt 21. Jul 2009, 12:00
Den Footer kannst schon im Designer Mode einschalten.

Vom TableView die Optionview.Footer auf True stellen. Wenn du da schon bist, dann bitte für die Gruppensummen den Groupfooter auf gfVisibleWhenExpanded oder gfAlwaysVisible
Sonst mußt du sie immer erst einschalten.

Für die Gruppensummen wieder in die Summary gehen, aber diesmal zu den Groups. Dort stellst du die Gruppensummen ein. Zuerst mußt du eine Gruppe erstellen und danach ein Item. Nur noch vom Item die Spalte zuweisen, wo die Summe dargestellt werden soll. (Name soll ja gruppiert werden, die Spalte also nicht). Als Kind skCount einstellen. Unten siehst du zwei Frames Unlinked und Linked Columns.
Dort mußt du die Spalte mit dem Namen zuweisen. Also bei Linked Columns sollte das Feld stehen, was summiert werden soll.
Dann sollte es so sein wie du es möchtest.

Gruß
Matze
  Mit Zitat antworten Zitat
yamaha007

Registriert seit: 16. Jul 2009
17 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: DevExpress Summe

  Alt 21. Jul 2009, 12:46
Hi,

müsste man schon im Quellcode machen, denn das Gruppieren ist ja flexibel.

Ich müsste mitbekommen das eine Gruppenfusssumme angezeigt wird und dann formatieren.

Ist warscheinlich schwer zu verstehen.Oder ich versteh es nicht.Kann auch sein.

Die Spalte die summiert wird kenn ich, die ist fest.Nur wenn die summiert wird möcht ich foratieren.

Nur wie gruppiert wird weiss ich nicht.

Deshalb bräuchte ich das Ereignis das gruppiert wurde und eine Summe angezeigt wird.

Dann müsste man das Feld abfragen, umformatieren und neu zuweisen.

Aber schon mal danke - Lothar
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: DevExpress Summe

  Alt 21. Jul 2009, 13:38
Möchtest du nur die Gruppierung in Code machen oder ist die Gruppierung schon vorhanden und es soll nur im Code formatiert werden?

Erstens ist schon schwieriger, aber das Event OnGetText ist das was du suchst. Bei zweitens ist es ein bißchen einfacher, natürlich auch wieder OnGetText. Wie du eine Gruppe erstellst habe ich ja beschrieben. (Die soll ja fest sein, oder?)

Eine Spalte im Designer Mode kannst du gruppieren wenn du direkt in der Spalte (z. B. TcxGridDBColumn o. ä.) den Groupindex von -1 auf 0 änderst (abhängig wieviel Gruppen du erstellst hast), dann Visible auf False stellen, sonst siehst du die gruppierte Spalte auch im Grid und nicht nur in der Gruppierungsbox.

Gruß
Matze
  Mit Zitat antworten Zitat
yamaha007

Registriert seit: 16. Jul 2009
17 Beiträge
 
RAD-Studio 2009 Ent
 
#7

Re: DevExpress Summe

  Alt 21. Jul 2009, 13:53
Zitat von Bebe:
Möchtest du nur die Gruppierung in Code machen oder ist die Gruppierung schon vorhanden und es soll nur im Code formatiert werden?
Grid wird vom Anwender zur Laufzeit gruppiert - ist nicht vorgegeben.

Nur die Formatierung der Spalte Summe(Zeit) von Float in hh:mm ist vorgegeben.

Wenn jetzt nach z. B. Name, id o.a. gruppiert wird und die Gruppenfusszeile + Summe eingeblendet wird (Laufzeit)
dann wird die Summe anstatt 01:35 als 95,00 angezeigt. Das müsste dann formatiert werden.

Hoffe ist so klarer.Auf jeden Fall danke für deine Hilfe und deine Geduld.Hab das Programm mit dem Grid erst vor kurzem übernommen
und fische noch sehr im Trüben.

Grüsse Lothar
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: DevExpress Summe

  Alt 21. Jul 2009, 16:18
Ich hoffe ich habe dich richtig verstanden ...

Ich habe mal ein kleines Beispiel erstellt. Jedoch habe ich alle Groups und Items schon angelegt, dadurch habe ich jetzt das geforderte Event und kann formatieren.

Es sind keine Gruppierung vorgegeben, du kannst ausser der Zeit-Spalten alles gruppieren. Im Footer der Gruppe siehst du das formatierte Ergebnis. Stellvertretend für viele Event habe ich nur ein Event GetText angelegt und im OI bei OnGetText zugewiesen. Siehe Bild im Anhang.

Mit der rechten Maustaste kannst du jetzt auf der Caption der Spalte das Zusatzmenü öffnen. Dort kannst du die Gruppierung auswählen, auch mehrfach Gruppierungen sind erlaubt.

Gruß
Matze

PS Kein Problem

Edit : neues Beispiel Projekt hochgeladen - jetzt ohne Skins bei Uses ...
Miniaturansicht angehängter Grafiken
ongettext_148.png  
Angehängte Dateien
Dateityp: zip projekte_728.zip (8,3 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
yamaha007

Registriert seit: 16. Jul 2009
17 Beiträge
 
RAD-Studio 2009 Ent
 
#9

Re: DevExpress Summe

  Alt 22. Jul 2009, 14:35
Hi, habs ausprobiert und funktioniert bis auf eine Einschränkung sehr gut.

Vielen Dank schon mal

Wenn ich es richtig verstanden habe muss ich alle Spalten nach denen gruppiert werden kann im OI zuweisen.Ist machbar.

Das was nicht funktioniert ist wenn man nach dem Aufruf die Summe in der Gruppenfußzeile mit der rechten Maustaste aus und dann wieder einblendet.

Dann ist die Formatierung nicht mehr da

Ist auf jeden Fall ne Herausforderung dieses Grid mit all seinen Möglichkeiten.
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

Re: DevExpress Summe

  Alt 22. Jul 2009, 15:43
Du hast recht, das ist ja doof.... Ich melde mich wieder

Gruß
Matze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 13:27 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