Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


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+unsubscribe@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.