Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TcxGrid - Spaltenreihenfolge (https://www.delphipraxis.net/159783-tcxgrid-spaltenreihenfolge.html)

hyype 12. Apr 2011 17:47

TcxGrid - Spaltenreihenfolge
 
Hallo Community!

Ich habe 5 Formulare mit je einem cxGrid und möchte bei diesem die Reihenfolge der Spalten ändern.
Dies tue ich, indem ich jeweils cxgrid.focusedview.columns[i].index setze.
Das funktioniert auch super, wenn mir das Form mit Grid angezeigt wird.
Beim Erstellen der Formulare allerdings klappt es nur bei einem der 5.
Bei den andern 4n ist nach der Zuweisung ".index:=" der index unverändert, ein fehler kommt auch nicht.
Jetzt meine Frage:
An welcher der unzähligen Eigenschaften könnte das liegen?
Habe zur Designzeit alle Options im Objectexplorer verglichen (grid selbst, level und view sowie columns...) und 2 Unterschiede festgestellt, die es aber nicht waren.
Vermutlich wird irgendwo im Code noch mit den Einstellungen rumgespielt.
Kennt sich einer so gut mit dem cxGrid aus, dass er pauschal was dazu sagen kann?
Vielleicht gibt es ja auch mehrere Eigenschaften, die zum Kreis der verdächtigen zählen? ^^

Danke auf jeden Fall schonmal!

MfG

Hype

bwolf 12. Apr 2011 17:51

AW: TcxGrid - Spaltenreihenfolge
 
Servus,

wahrscheinlich hast du das bereits überprüft, aber ich frag trotzdem mal:

Hast du bei allen Views auch die Property "ColumnMoving" auf true gesetzt?
View->OptionsCustomize->ColumnMoving

Gruß b

Bebe 12. Apr 2011 17:57

AW: TcxGrid - Spaltenreihenfolge
 
Hallo,

ich denke mal das FocusedView nicht der richtige Ansatz ist. Versuche es mal mit ActiveView, denn damit hast du den aktive View auch ohne Fokus. Oder adressiere gleich den View direkt.
Delphi-Quellcode:
cxGridDBTableView1.Columns[I].Index := 1
Gruß
Matze

uligerhardt 13. Apr 2011 07:38

AW: TcxGrid - Spaltenreihenfolge
 
Und schau dir mal an, ob du die Indizes in der richtigen Reihenfolge zuweist. WIMRE erinnere kann des setzen vom Index einer Spalte den Index einer anderen Spalte ändern. Wenn du z.B. zwei Spalten hast und
Delphi-Quellcode:
Column1.Index := 0;
Column2.Index := 0;
machst, hat Column1 am Ende Index = 1, weil sich Column2 wieder nach vorne drängelt.

virus82 13. Apr 2011 08:27

AW: TcxGrid - Spaltenreihenfolge
 
danke für die beteiligung!
columnmoving ist true, zumin zur designzeit. ich durchsuch mal den code.
activeview statt focusedview werd ich mal ausprobieren
die indices werden in der richtigen reihenfolge gesetzt, sprihc beginnend beim größten und endend beim kleinsten

uligerhardt 13. Apr 2011 08:40

AW: TcxGrid - Spaltenreihenfolge
 
Zitat:

Zitat von virus82 (Beitrag 1094768)
columnmoving ist true, zumin zur designzeit. ich durchsuch mal den code.

Pro Spalte gibt es auch noch Column.Options.Moving.

hyype 13. Apr 2011 09:05

AW: TcxGrid - Spaltenreihenfolge
 
also, columnmoving ist es nicht und columns[i].options.moving ist es auch nicht, ist alles true :/

dataspider 13. Apr 2011 09:14

AW: TcxGrid - Spaltenreihenfolge
 
Zitat:

Zitat von hyype (Beitrag 1094705)
Das funktioniert auch super, wenn mir das Form mit Grid angezeigt wird.
Beim Erstellen der Formulare allerdings klappt es nur bei einem der 5.

Was heisst, beim Erstellen?
Vielleicht wäre etwas Code doch hilfreich.
Lassen sich die Spalten mit der Maus verschieben?

Frank

hyype 13. Apr 2011 09:32

AW: TcxGrid - Spaltenreihenfolge
 
das problem lässt sich relativ leicht zusammenfassen:
ich habe eine column, deren index ist 95. dann setz ich ihn auf 84 und direkt danach ist er immernoch 95.
beim erstellen heißt im formcreate des forumlars, auf dem das grid liegt
aso und ja, mit der maus kannste die hin ud her ziehen wie du lustig bist ;)

uligerhardt 13. Apr 2011 09:57

AW: TcxGrid - Spaltenreihenfolge
 
Setz doch einen Breakpoint in die Setter-Routine von Index und verfolge nach, wo das Setzen verweigert wird. (Nimm vorher die DevEx-Quellen in den Projekt-Suchpfad auf, falls nicht eh schon drin.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.
Seite 1 von 2  1 2      

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