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


Hallo Jörg,

ich habe das jetzt hingekriegt. Auf die Lösung hat mich die Bemerkung in
https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1awt_1_1grid_1_1SortableGridDataModel.html#details
gebracht, wo gesagt wird, dass man ein sekundäres Datenmodell brauche, und die Fehlermeldung, dass die Initialisierung fehle.

Du kennst ja nach deiner Aussage das Vorgehen für eine nicht sortierbare Tabelle, daher nenne ich nur  die Änderungen:

statt

   oDataModel =
   createUnoService("com.sun.star.awt.grid.DefaultGridDataModel")

habe ich verwendet:

   dim oDataModelSek as object
   oDataModel*S**ek***=
   createUnoService("com.sun.star.awt.grid.DefaultGridDataModel")
   oDataModel =
   createUnoService("com.sun.star.awt.grid.SortableGridDataModel")
   oDataModel.initialize(array(oDataModel*Sek*))

und die Zeile

   oDataModel.addRow(.Columns.getByIndex(0).value, arrColumns)

ersetzt durch

   oDataModel*Sek*.addRow(.Columns.getByIndex(0).value, arrColumns)

Ich interpretiere das so, dass das bisher verwendete DataModel nun die Basis im Hintergrund ist, in die die Daten geschrieben werden, und dass zwischen dieses und die Benutzeroberfläche nun das neue zum Sortieren dazwischengeschoben wird. Den Namen oDataModel habe ich für das neue verwendet, weil die meisten Bezüge im Code auf dieses Objekt gehen, und lieber das bisher verwendete umbenannt.

Durch Klicken auf den Spaltenkopf kann nach diesem sortiert werden, weiteres Klicken auf den gleichen ändert die Sortreihenfolge; so wie man es erwartet hätte.

Ich habe noch

   oDataModel.sortByColumn(0, TRUE)

eingefügt, damit die Spalte, nach der sowieso aufgrund der Datenbeschaffung aufsteigend sortiert ist, auch das Sortierdreieck erhält.

Gruß
Gerhard

Am 21.08.2021 um 08:28 schrieb Jörg Schmidt:
Hallo Gerhard,

-----Original Message-----
From: Gerhard Weydt [mailto:gerhard.weydt@t-online.de]
Sent: Saturday, August 21, 2021 1:10 AM
To: discuss@de.libreoffice.org
Subject: Re: [de-discuss] Nochmals Grid-Steuerelement in LO 7

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).
Meine Aussage war so zu verstehen das es ja, im gewohnten Stil seit OOo-Zeiten, auch ein "Grid2" hätte geben können, so 
wie es "Chart2" gibt und einige "2" mehr.

Dass das Grid in einem Dialog sortierbar ist, ist ja wohl eine
fortgeschrittene Anforderung. Brauchst du sie?
Da ich jetzt von Ihrer Existenz weiß würde ich sie zukünftig nutzen wollen. Es gibt keinen 
unmittelbaren Bedarf, aber da ich beruflich programmiere muss ich auch auch immer auf der Höhe der 
aktuellen Entwicklung bleiben was mein Wissen betrifft.




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.