Re: Formular: Wie setze ich den Focus bei einem Tabellenkontrollfeld?

Robert Großkopf <[email protected]>
Newsgroups gmane.comp.openoffice.general.german
Message-ID <[email protected]>
Hallo Wolfgang,
>>
>> 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.
> 
> Yepp; der Fokus bezeichnet lediglich die Zelle, mit bzw. von der aus 
> das Makro arbeitet. Das hat aber überhaupt nix mit dem Cursor oder
> besser gesagt der Anzeige zu tun. 
> 
> Daß beides beim Start des Makros identisch sind, ist sozusagen nur 
> gewollter Zufall.
> 
> Was Du möchtest, müsste ungefähr so ausschauen (bei Dir dann natürlich
> nicht mit einem fest kodiertierten Sprungziel 'Tabelle1.B5'):
> 
> |  targetSheet = 0  REM  1. Tabellenblatt ('Tabelle1')
> |  targetRow   = 1  REM  2. Spalte ('B')
> |  targetLine  = 4  REM  5. Zeile
> |
> |  oDoc = thisComponent
> |  oView = oDoc.CurrentController
> |
> |  oSheet = oDoc.sheets(targetSheet)
> |  oCell =  oSheet.getCellByPosition(targetRow,targetLine)
> |  oView.Select(oCell)

Du gehst von einer Tabelle in Calc aus, ich von einem
Tabellenkontrollfeld innerhalb eines Formulars (Base).

Deswegen bin ich auch anders ans Ziel gekommen:
oCtlView.SetCurrentColumnPosition(0)


Gruß

Robert
-- 
-----------------------------------------------------------------
To unsubscribe send email to users-unsubscribe-FbeHCBNAjHiBIukByRZ1s9i2O/[email protected]
For additional commands send email to sympa-FbeHCBNAjHiBIukByRZ1s9i2O/[email protected]
with Subject: help
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.