Hallo Robert,

> ich versuche gerade auf Listboxen in einem Tabellenkontrollfeld eines 
> Formulars zuzugreifen. Allerdings wirft mich das Makro jedes Mal raus, wenn 
> ich SelectItem bzw. SelectedItem abfragen will - Objektvariable nicht belegt.
> 
> Mein Zugriffsversuch:
> 
>       odoc=thisComponent
>       odrawpage=odoc.drawpage
>       oform=odrawpage.forms.getByName(Hauptform)
>       ouform=oform.getbyName(Subform)
>       oGrid=ouform.getbyName(Grid)
>       DocCrl = ThisComponent.getCurrentController()
>       oControl=oGrid.getByName(LB1)
>       oControl_Z=oGrid.getByName(LB2)
>       oListBox = DocCrl.GetControl(oControl)
>       mySelect = oListBox.SelectedItem
> 
> bei mySelect bleibt das Ganze jedes Mal stehen. Weiß jemand, ob das 
> Unterfangen überhaupt mit einem Tabellenkontrollfeld möglich ist?

aus dem Kopf, weil es zu spät am Abend ist, als dass ich noch
nachschauen wollte :) :

Am Controller wirst Du kein Control für eine Grid-Spalte bekommen,
dessen Wissen hört auf der Ebene der Controls auf - also beim Grid
Control selber.

Du kannst Dir aber das Grid Control besorgen ("DocCrl.getControl( oGrid
)"), und an diesem mittels getByIndex "eine Art Control" für die
entsprechende Grid-Spalte abholen. "eine Art", weil diese Objekte keine
richtigen Controls sind, weil einige der Aspekte von Controls für
Grid-Spalten nicht sinnvoll sind. Aber SelectedItems etc. ist dort auch
verfügbar.

*allerdings* ... wie immer gilt eigentlich, dass man solche Dinge wie
SelectedItems nicht über das Control, sondern über das Model abfragen
sollte: Auch das Model (also oControl resp. oControl_Z) hat eine
Property SelectedItems.

Sowohl für das Model als auch das Control der Spalte (ersteres nennt
Dein Makro "oControl", weswegen wir hier vielleicht ein
Terminologie-Problem haben :) gilt, dass immer der Zustand der aktuellen
Zeile widergespiegelt wird. Wenn sich also der Datenbank-Cursor auf
einen anderen Datensatz ändert, ändern sich auch die entsprechenden
Eigenschaften dieser Objekte.

Ciao
Frank


-- 
- Frank Schönheit, Software Engineer         [email protected] -
- Sun Microsystems                      http://www.sun.com/staroffice -
- OpenOffice.org Base                       http://dba.openoffice.org -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an