Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator (https://www.delphipraxis.net/193324-devexpress-grid-sortieren-und-navigieren-ueber-tdxbardbnavigator.html)

Kostas 18. Jul 2017 09:33

DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Hallo Zusammen,

auf eine Form habe ich ein TcxGird und ein TdxBarDBNavigator auf die oberste Toolbar platziert. Wenn das Grid nicht sortiert ist, kann ich über das TdxBarDBNavigator wie erwartet von Datensatz zu Datensatz springen. Sobald ich über das Grid auf ein Spalten-Header klicke zum sortieren nach der Spalte, springt der Datensatzzeiger über den TdxBarDBNavigator in der DataSource zum nächsten Datensatz. Durch die Sortierung kann dieser Datensatz natürlich irgendwo sein. Ich habe bis jetzt keine Möglichkeit gefunden den TdxBarDBNavigator mit der Datenmenge im Grid zu synchronisieren. Das einzige was geht ist, den Navigator vom Grid selbst zu aktivieren. Dieser würde zum nächsten Datensatz innerhalb des Grids springen. Das Grid befindet sich auf ein PageControl mit mehreren Tabs. Ich kann also nicht den Datensatzzeiger nur über das Grid positionieren.

Hat jemand eine Lösung dafür?

Gruß Kostas

dataspider 18. Jul 2017 09:43

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Wenn GridMode False ist, funktioniert das so nicht, da der Navigator ja das Next an das Dataset schickt.
Du musst aber Gridview.DataController.GotoNext aufrufen.

Ich habe dafür eigene Actions geschrieben.

Aber IMO kannst du die Ereignisbehandlung für Navigieren ja auch im Navigator anpassen.

[EDIT]oder halt TcxNavigator nehmen...[/EDIT]


Frank

Kostas 18. Jul 2017 11:34

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Danke Frank für den Hinweis.

Es wundert mich dass die VCL Subscription für 1500$ keine Lösung direkt anbietet. Oder liege ich da so falsch mit meiner Anforderung. Braucht das sonst niemand? Möglicherweise bin ich auch zu verwöhn von IBObjects. Ich kann leider IBO nicht verwenden da ich in diesem Projekt mit mehreren Datenbankhersteller arbeiten muss. Somit bin ich auf FireDac und Co. angewiesen. :-(

Gruß Kostas

alex517 18. Jul 2017 12:08

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Nimm wie schon gesagt ein TcxNavigator und dazu ein dxBarControlContainerItem.
Und weise
dxBarControlContainerItem.Control = cxNavigator
und
cxNavigator.Control = cxGrid
zu.

Kostas 18. Jul 2017 13:37

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Hallo Alex,

das funktioniert schon mal, tausend Dank für den Hinweis.

Das dxBarControlContainerItem habe ich bis jetzt sehr ungern verwendet da die Controls wie der cxNavigator jetzt nicht mehr harmonisch dargestellt werden wie die Buttons. Deshalb habe ich die Buttons einzeln hineingezogen bei Verwendung von dxBarDBNavigator. Oder gibt es etwa dafür auch eine elegante Lösung?

Gruß Kostas

dataspider 18. Jul 2017 14:12

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Wenn du beim TdxBarDBNavigator bleibst, brauchst du doch nur den Code (siehe mein voriger Post) ins OnClick des Buttons eintragen...
Klar könnte DevExpress dafür Actions mitliefern.
Aber so problematisch sehe ich das nicht.

Frank

Stevie 18. Jul 2017 16:08

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Ich würd ja einfach Navigator.Visible des TableViews auf True schalten, dann hat man im Grid selbst den Navigator.

Edit:

Ok, hab das hier überlesen.

Zitat:

Das einzige was geht ist, den Navigator vom Grid selbst zu aktivieren. Dieser würde zum nächsten Datensatz innerhalb des Grids springen. Das Grid befindet sich auf ein PageControl mit mehreren Tabs. Ich kann also nicht den Datensatzzeiger nur über das Grid positionieren.
Kannst du das noch erläutern?

Kostas 18. Jul 2017 16:56

AW: DevExpress Grid, sortieren und navigieren über TdxBarDBNavigator
 
Zitat:

Zitat von dataspider (Beitrag 1376957)
Wenn du beim TdxBarDBNavigator bleibst, brauchst du doch nur den Code (siehe mein voriger Post) ins OnClick des Buttons eintragen...
Klar könnte DevExpress dafür Actions mitliefern.
Aber so problematisch sehe ich das nicht.

Frank

Hallo Frank,

ja, das wohl die schönere Variante. So habe ich es jetzt umgesetzt.

Tausend Dank für die Hilfe.
Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 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