Hallo Jörg,

ich denke schon, dass das

com.sun.star.awt.grid.SortableGridDataModel

das Passende ist, denn das DefaultGridDataModel und das SortableGridDataModel sind laut API-Dokumentation Spezialisierungen des MutableGridDataModel (Dass Xray immer "stardiv.Toolkit.GridDataModel" anzeigt, heißt noch nichts, vermutlich bist du da bei einem anderen Objekt, dem es egal ist, was drunter passiert). Bloß sind da wohl einige zusätzliche Definitionen zu treffen, die beim DefaultModel implizit oder nicht nötig sind, und die sind nicht ohne weiteres zu entdecken, da ist die "Beschreibung" in der API-Doku für mein Wissen viel zu knapp. Einfaches Ersetzen von
com.sun.star.awt.grid.DefaultGridColumnModel
durch
com.sun.star.awt.grid.SortableGridColumnModel
bringt dann beim Hinzufügen der Spalten zum DataModel:
oDataModel.addRow(.Columns.getByIndex(0).value, arrColumns)
den Fehler:
com.sun.star.lang.NotInitializedException
es fehlen also offensichtlich Festlegungen.

Bloß sehe ich mich selbst mangels Einblick in das Konzept nicht in der Lage, zu erraten, was hier vorher noch zu definieren ist. Es gibt das Interface XsortableGridData, das die Methoden zum Sortieren enthält, aber wie das zu verknüpfen wäre, sehe ich nicht.

Dass das Grid in einem Dialog sortierbar ist, ist ja wohl eine fortgeschrittene Anforderung. Brauchst du sie? In eingeschränkter Form kannst du sie wohl auch ersetzen durch vorgegebene Optionen, aufgrund deren du den Sort des SQL änderst, mit dem die Tabelle des Grid befüllt wird.

Ich hätte aus grundsätzlichen Erwägungen ja auch gern gewusst, wie das geht, aber brauchen tu ich das selber nicht.

Viele Grüße
Gerhard

Am 20.08.2021 um 09:01 schrieb Jörg Schmidt:
Hallo,

die direkt im Dialog-Designer eingefügten Grid-Steuerelemente verfügen per 
Default in den Spaltenköpfen über kleine blaue 'Sortier-Dreiecke' (die sichtbar 
werden wenn man auf den Spaltenkopf klickt) mit denen man 
aufsteigend/absteigend sortieren kann.

Wie erzeuge ich diese Dreiecke bei einem per Code eingefügten Grid?


Ich finde mit XRAY nichts. Es können doch aber keine 'anderen' Grid sein (?), denn XRAY 
zeigt für Beide "stardiv.Toolkit.GridControlModel" an.

In der API-Dokumentation finde ich einen Hinweis auf 
com.sun.star.awt.grid.SortableGridDataModel, komme damit aber nicht weiter (und 
weiß auch garnicht ob das damit zutun hat).

Meine Vermutung ist das es dafür garkeinen konkrete Einstellung gibt (i.S. 
.ShowSortButtton=True) sondern das irgendeine Einstellung dazu führt das 
nebenbei auch diese 'Sortier-Dreiecke' angezeigt werden.


Gruß
Jörg





--
Liste abmelden mit E-Mail an: discuss+unsubscr...@de.libreoffice.org
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/discuss/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Reply via email to