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


Hallo Stefan,

die Mail geht direkt an dich.

Mit einer Long-Variable klappt es bei mir. Ich habe bisher einen Array von Strings übergeben, nun habe ich das als Variant definiert und einen der numerischen Werte mit CLng in Long umgewandelt (es ist allerdings immer noch eine Ganzzahl); aber der Code funktioniert immer noch. Was bei dir möglicherweise anders ist, weiß ich kja nicht. Aber letztlich wird ja ein String angezeigt, wenn es mit direkter Übergabe von Long nicht klappt, dann mache doch zunächst einen String daraus.

Beim Rumprobieren hatte ich mal den MouseListener des Grids etabliert, der lieferte currentColumn; ich schätze, dass er auch currentRow liefert, habe aber nicht darauf geachtet. Der Listener springt aber auch an, wenn man in die Kopfzeile klickt und dann sicher auch bei der Kopfspalte, das müsste sich hoffentliich über den Wert von Zeile und Spalte entscheiden lassen. Ich sehe jetzt, dass Robert das in seinem Beispiel verwendet. Er schreibt nichts vom Listener, ich gehe davon aus, dass er das GridControl im DesignMode hinzugefügt hat und dann dort das Makro beim Mausereignis aufruft. Meine Mail bezieht sich auf das Erzeugen des sortierbaren Grids per MakroCode, danach hatte Jörg gefragt. Das ist wohl nicht nötig, wenn man das GridControl im DesignMode hinzufügt, ich interpretiere Roberts Beispiel so, dass dadurch schon der allgemeine Fall eines MutableGrid implementiert wird. Bei meinen Versuchen bin ich mit dem Grid aus dem Design Mode nicht weitergekommen, aber da hatte ich mich wohl irgendwo verrannt, so wie es aussieht.

Gruß
Gerhard

Am 23.08.2021 um 16:10 schrieb Stefan Deutsch:
Hi Gerhard,

bitte leit mir die Mail weiter. Über die Methode updateCellData() kann
ich den Zellinhalt im Makrocode manipulieren. Bei Neuaufruf des DIalogs
wird dann auch korrekt der neue Wert ausgegeben. Über getCellData() kann
ich auch das Array verändern, aus dem die Daten für das Grid stammen.
Nur direkt im Dialog kann ich aber immer noch nicht in das Grid
schreiben. Wäre das nicht ein Anwendungsgebiet für einen Listener, der
darauf wartet, dass ich in eine Zelle clicke und dann einen neuen Dialog
öffnet, indem ich den gewünschten Wert eintrage? Wäre nur eine etwas
umständliche Bedienung.

Noch eine Nebenfrage: Kann das Gridcontrol keine Variablen in Long
verarbeiten. Wenn ich diese übergebe, wird nichts angezeigt. Übergebe
ich Integer klappt's.

Vielen Dank schonmal! Stefan

Am 23.08.2021 um 15:30 schrieb Gerhard Weydt:
Hallo Stefan,

du hast wahrscheinlich das DefaultGridDataModel verwendet und
möglicherweise die Beschreibung von Thomas Krumbein, aus der auch ich
das Verfahren gelernt habe.
ich habe gerade gestern aufgrund einer Anfrage in der discuss-Liste
rausgeknobelt, wie man ein sortierbares Tabellengitter erzeugen kann
(bei Bedaf kann ich dir die Mail weiterleiten), und dabei gesehen,
dass es auch das Interface
https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1grid_1_1XMutableGridDataModel.html

gibt. Ich habe da allerdings noch nichts ausprobiert, aber die
genannten Methoden dürften das wohl sein.

Gruß
Gerhard

Am 23.08.2021 um 14:37 schrieb Stefan Deutsch:
Hallo zusammen,

ich hab mir gerade einen Dialog gebaut und im Makro ein GridControl.

Dazu hab ich eine Frage: Ist das ausschließlich Read-Only? Habe gerade
mit xRay keine Eigenschaft für die Spalten gefunden, um darein zu
schreiben. Die Daten stammen aus einem Array und die Zeilenköpfe auch.
Beide hab ich mit addRows an das DataModel übergeben und es wird auch
korrekt dargestellt.

Viele Grüße

Stefan Deutsch


--
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus







--
Liste abmelden mit E-Mail an: users+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/users/
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.