Listbox im Formular mit Daten aus Calc füllen.

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Listbox im Formular mit Daten aus Calc füllen.

Beitrag von balu »

Halli hallo Liebe Gemeinde.

Ich seh mal wieder den Wald vor lauter Bäumen nicht :? . Denn mein heutiger Such-Tag im Forum hat mich nicht ans Ziel geführt, da meine Suchbegriffe fast ausschließlich Base Ergebnisse lieferten. Doch damit komm ich irgendwie gar nicht zu recht.

Also mein 1. Problem ist folgendes.

Ich habe mir ein Formular erstellt in dem mehrere ListBoxen enthalten sind. Vom Art des Inhaltes sind es nur zwei verschiedene. Jetzt möchte ich aber diese ListBoxen nicht mit starrem Inhalt ausstatten, sondern "Variabel". Das heißt, dass sich hin und wieder der Inhalt ändern kann.

Und nun möchte ich, dass sich die ListBox selbständig den Inhalt aus einem Tabellenblatt holt. Ich hatte wohl von turtle47 (Jürgen) in diesem Thread Hilfe bei ListBoxen (oder Dialogen) einen Code gefunden, den ich aber nicht ans laufen kriege. Wahrscheinlich raffe ich mal wieder nicht den zu bezeichnenden/benennenden Unterschied zwischen einem Listenfeld direkt in der Drawpage und der ListBox in einem Formular.

Mein Dialog heißt auch Dialog, und die ListBoxen ListBox1 bis ListBox??

Wie müsste also der Code dafür aussehen, dass die ListBox sich die Daten aus der Tabelle holt?
Könntet ihr mir bitte dabei behilflich sein? Freue mich wirklich über eure Hilfe/Unterstützung. :D

Problem 2 kommt später, eventuell, vielleicht.

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Listbox im Formular mit Daten aus Calc füllen.

Beitrag von Stephan »

Wahrscheinlich raffe ich mal wieder nicht den zu bezeichnenden/benennenden Unterschied zwischen einem Listenfeld direkt in der Drawpage und der ListBox in einem Formular.
Einen solchen Unterschied gibt es überhaupt nicht, denn Formular und Drawpage lassen sich nicht trennen.

Hingegen besteht ein fundamentaler Unterschied zwischen einem Formular und einem Dialog.
Mein Dialog heißt auch Dialog, und die ListBoxen ListBox1 bis ListBox??

Wie müsste also der Code dafür aussehen, dass die ListBox sich die Daten aus der Tabelle holt?
z.B. wenn Einträge der Listbox aus Zellen A1:A10 der Tabelle namens "Tabelle1" des aktuellen Tabellendokuments gelesen werden sollen:

Code: Alles auswählen

Sub Main
oForm = DialogLibraries.Standard.Dialog 
oDialog1 = CreateUnoDialog( oForm )

oSheet = ThisComponent.Sheets.GetByName("Tabelle1")
oCellRangeSource = oSheet.getCellRangeByName("A1:A10")
	
aSourceDataArray() = oCellRangeSource.getDataArray()
	
Dim aSource(UBound(aSourceDataArray())) As String

For I = LBound(aSource()) To UBound(aSource())
	aDataArrayRow()	= aSourceDataArray(I)
	aSource(I) = aDataArrayRow(0)
Next I

oDialog1.Model.getByName("ListBox1").StringItemList = aSource()

oDialog1.execute

End Sub



Gruß
Stephan
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Listbox im Formular mit Daten aus Calc füllen.

Beitrag von balu »

Moin moin Stephan.

Ja das ist doch eine ganz andere Liga wenn es darum geht einen Datenbereich zu übergeben, als das was ich bis jetzt so gemacht habe. Das bekomme ich ja schon relativ gut hin. Aber das jetzt bedarf einer "größeren" Einarbeitungsphase, was ich wohl auch noch über kurz oder lang hinbekommen werde.
Einen solchen Unterschied gibt es überhaupt nicht, denn Formular und Drawpage lassen sich nicht trennen.
Jo, hast recht. Ohne Drawpage kein Formular.

Hingegen besteht ein fundamentaler Unterschied zwischen einem Formular und einem Dialog.
Ich sags: Sah den Wald net mehr...

Kurz und gut.
Ich Danke dir recht Herzlich, es funktioniert perfekt. Hast mich vor einer Schlaflosen Nacht gerettet :D.


Wünsch dir auch noch eine angenehme Nacht.

Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten