[de-users] Formular: Wie setze ich den Focus bei einem Tabellenkontrollfeld?

2011-11-13 Diskussionsfäden Robert Großkopf
Liebe Liste,

ich konstruiere gerade ein Formular mit einem Tabellenkontrollfeld, in
dem bei falschen Eingaben der Focus auf das falsche Feld zurückgesetzt
werden soll:
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.Forms.getByName(Filter)
oSubForm = oForm.getByName(Ausleihe)
oFeld = oSubForm.getByName(Grid)
REM Der Controller ist in diesem Fall das Tabellenkontrollfeld. Die
Teile der Tabelle sind nur über den Index erreichbar.
oDocCrl = ThisComponent.getCurrentController()
oCtlView = oDocCrl.GetControl(oFeld)
oListView = oCtlView.getByIndex(0)
oListView.setFocus()

Die Methode setFocus ist in den Methoden aufgeführt (dbg_methods).
Allein der Cursor reagiert darauf nicht.
Ich meine, so etwas schon einmal erreicht zu haben - nur wie?

Gruß

Robert

-- 
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Probleme? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert



Re: [de-users] Formular: Wie setze ich den Focus bei einem Tabellenkontrollfeld?

2011-11-13 Diskussionsfäden Robert Großkopf
Ich antworte mir kurz selbst, damit klar ist, dass sich die Sache
erledigt hat:
 
 ich konstruiere gerade ein Formular mit einem Tabellenkontrollfeld, in
 dem bei falschen Eingaben der Focus auf das falsche Feld zurückgesetzt
 werden soll:
 oDoc = thisComponent
 oDrawpage = oDoc.Drawpage
 oForm = oDrawpage.Forms.getByName(Filter)
 oSubForm = oForm.getByName(Ausleihe)
 oFeld = oSubForm.getByName(Grid)
 REM Der Controller ist in diesem Fall das Tabellenkontrollfeld. Die
 Teile der Tabelle sind nur über den Index erreichbar.
 oDocCrl = ThisComponent.getCurrentController()
 oCtlView = oDocCrl.GetControl(oFeld)
 oListView = oCtlView.getByIndex(0)
 oListView.setFocus()
 
 Die Methode setFocus ist in den Methoden aufgeführt (dbg_methods).
 Allein der Cursor reagiert darauf nicht.
 Ich meine, so etwas schon einmal erreicht zu haben - nur wie?

Auch wenn setFocus vorgesehen ist funktioniert es anscheinend nicht.
Ich muss nach oCtlView, also der Ansicht des Tabellenkontrollfeld gehen
und dann
oCtlView.SetCurrentColumnPosition(0)
setzen - dann springt der Cursor zurück und ich werde zu einer neuen
Eingabe veranlasst.

Gruß

Robert

-- 
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Probleme? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert