【发布时间】:2019-04-14 18:56:12
【问题描述】:
LibreOffice Base; Tab order from mainform to subform的问答几乎解决了我的问题,但不完全。
我有一张桌子mytable (id, name, textfield)。我以表格布局(表格控件)的形式显示id 和name。我从同一个表中添加了列textfield 作为带有文本框控件的子表单(原因是我想用换行符输入文本,同时能够在主表中快速导航记录)。这是它在设计视图中的样子:
我根据上面链接的两个答案添加了这个基本宏:
Sub Main
Dim root_doc As Object
Dim form_container, form_ctrlr As Object
Dim main_frm, sub_frm, tab_target As Object
root_doc = ThisComponent
form_container = root_doc.Drawpage.Forms
form_ctrlr = root_doc.getCurrentController()
main_frm = form_container.getByName("MainForm")
sub_frm = main_frm.getByName("SubForm")
tab_target = sub_frm.getByName("TextField")
form_ctrlr.getControl(tab_target).setFocus()
End Sub
现在,如果我在 name 列的事件 When losing focus 上添加宏,我会在按 Tab 时将焦点放在文本框上,但在下一行。
如果我将宏添加到name 列的事件On key press,我会在按下例如Space,但Tab 或Enter 只带我到主窗体的下一行。
有没有办法让它与 Tab 一起使用?
【问题讨论】:
-
也张贴在ask.libreoffice.org/en/question/190449/… 那里给出了答案。
标签: libreoffice libreoffice-base