Hallo an alle hilfreichen OOO-Programmierer,
ich brauche mal eine kurze Auskunft, ob es möglich ist, ein Array, welches über
g_aKdArray = .GetCellRangeByPosition(0, 0, c_iUBoundKdCol, g_iTotalKd).getDataArray()
eingelesen wurde, zu transponieren. Gerne in ein neues Array g_aKdArrayTransposed. Also ähnlich der Funktion, wie sie beim 'Inhalte einfügen' in Calc zur Verfügung steht.
Das Array, welches mit getDataArray erzeugt wird, ist ja ein eindimensionales (stellt die 'Zeilen' des Datenblocks dar, die einzelnen Kunden), bestehend aus weiteren Arrays, die wiederum die 'Spalten' des Datenblocks darstellen (die einzelnen Kundenangaben, z.B. Name, Straße, Ort usw.). An eine 'Zeile' (einen Kunden) komme ich also sofort ran (alle Daten einer Zeile darstellen über z.B. g_aKdArray(20) ). Nun möchte ich aber alle Daten einer 'Spalte' (also z.B. alle Kundennamen) sofort darstellen können, ABER OHNE mühsamen Schleifendurchlauf. Das dauert mir zu lange. Ziel ist, eine ComboBox damit zu füllen.
Geht das?
Liebe Grüße
Volker
Array transformieren
Moderator: Moderatoren
Re: Array transformieren
Hallo
Gruß Karo
Nein '.getDataArray' erzeugt immer ein 2dimensionales Array auch wenn es sich um einen einspaltigen Bereich handelt, du musst die Daten aus '...getDataArray' umfüllen in ein 1dimensionales Array, Beispiel :Das Array, welches mit getDataArray erzeugt wird, ist ja ein eindimensionales (stellt die 'Zeilen' des Datenblocks dar,
Code: Alles auswählen
Sub testdataarray
adat = thiscomponent.currentselection().getdataarray 'hier einspaltige Selektion
dim aflat( ubound(adat()))
for i = 0 to ubound(adat())
aflat(i) = adat(i)(0)
next
sflat = join(aflat(), chr(13))
msgbox sflat
End Sub
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Array transformieren
Besten Dank! Probiere ich mal.