von DPunch » Mi, 23.12.2009 18:00
Aloha
Das Beispiel zum Auslesen der selektierten Datensätze kenne ich schon, nur hilft dies nicht weiter, da Du zwar problemlos aus dem GridModel (com.sun.star.comp.forms.OGridControlModel) die Selektion auslesen kannst, zum Selektieren aber Zugriff auf die GridControl brauchst.
Da landet man dann irgendwann bei der com.sun.star.comp.dbu.SbaXGridControl, diese kann im Gegensatz zu der in meinem Link verwendeten (und funktionierenden) com.sun.star.form.FmXGridControl allerdings nicht selektieren, sondern schmeisst lediglich Illegal Argument Exceptions (und ist ausserdem wie ich vermute lediglich die GridControl für die Auswahl der Datenquelle ist, nicht aber für die Auswahl des Datensatzes).
Ich persönlich habe es aufgegeben und mache es nun eben per Workaround (den Zeiger auf einen Datensatz setzen und dann Spaltennamen mit den Feldern im Dokument vergleichen -> bei Gleichheit Feldinhalt gleich dem Spalteninhalt setzen).
Das funktioniert zwar auch wunderbar, dauert aber zumindest auf den Rechnern auf der Arbeit deutlich länger als das Übertragen per "Daten in Felder".
Ich habe mich mehrere Tage ausgiebig mit dem Problem beschäftigt, aber habe einfach keine Lösung finden können.
Dass es bei OO Basic so schwer ist wie bei keiner anderen mir bekannten Programmiersprache, an Hinweise, Lösungsansätze oder auch einfach nur dokumentierte Funktionen zu kommen, tut dabei natürlich sein Übriges.
Aloha
Das Beispiel zum Auslesen der selektierten Datensätze kenne ich schon, nur hilft dies nicht weiter, da Du zwar problemlos aus dem GridModel (com.sun.star.comp.forms.OGridControlModel) die Selektion auslesen kannst, zum Selektieren aber Zugriff auf die GridControl brauchst.
Da landet man dann irgendwann bei der com.sun.star.comp.dbu.SbaXGridControl, diese kann im Gegensatz zu der in meinem Link verwendeten (und funktionierenden) com.sun.star.form.FmXGridControl allerdings nicht selektieren, sondern schmeisst lediglich Illegal Argument Exceptions (und ist ausserdem wie ich vermute lediglich die GridControl für die Auswahl der Datenquelle ist, nicht aber für die Auswahl des Datensatzes).
Ich persönlich habe es aufgegeben und mache es nun eben per Workaround (den Zeiger auf einen Datensatz setzen und dann Spaltennamen mit den Feldern im Dokument vergleichen -> bei Gleichheit Feldinhalt gleich dem Spalteninhalt setzen).
Das funktioniert zwar auch wunderbar, dauert aber zumindest auf den Rechnern auf der Arbeit deutlich länger als das Übertragen per "Daten in Felder".
Ich habe mich mehrere Tage ausgiebig mit dem Problem beschäftigt, aber habe einfach keine Lösung finden können.
Dass es bei OO Basic so schwer ist wie bei keiner anderen mir bekannten Programmiersprache, an Hinweise, Lösungsansätze oder auch einfach nur dokumentierte Funktionen zu kommen, tut dabei natürlich sein Übriges.