LibreOffice Base Basic 在加载时获取表单字段值
LibreOffice Base Basic Get form field value on load
这可以在事件中获取字段的值(比如单击按钮):
Sub runatevent(Event as Object)
dim form as Object
dim cntrl
form = Event.Source.Model.Parent
cntrl = form.getByName("txtpath").currentvalue
print(cntrl)
End Sub
然而,当我尝试在表单的 "After Record Change" 事件中触发它时,出现错误:"property or method not found: Model"
如何在 "After Record Change" 表单事件中获取 "txtpath" 的值?
为了解决这个问题,我在 Event
对象上使用了 XrayTool。这是有效的:
form = Event.Source
正如我对 的回答,我建议从结果集中读取值:
nameCol = form.findColumn("PATH")
print(form.getString(nameCol))
这个想法是表单基于结果集,因此您可以只从结果集中读取而不是从表单获取控件然后检查控件的值。在我看来只是更优雅一点。
这可以在事件中获取字段的值(比如单击按钮):
Sub runatevent(Event as Object)
dim form as Object
dim cntrl
form = Event.Source.Model.Parent
cntrl = form.getByName("txtpath").currentvalue
print(cntrl)
End Sub
然而,当我尝试在表单的 "After Record Change" 事件中触发它时,出现错误:"property or method not found: Model"
如何在 "After Record Change" 表单事件中获取 "txtpath" 的值?
为了解决这个问题,我在 Event
对象上使用了 XrayTool。这是有效的:
form = Event.Source
正如我对
nameCol = form.findColumn("PATH")
print(form.getString(nameCol))
这个想法是表单基于结果集,因此您可以只从结果集中读取而不是从表单获取控件然后检查控件的值。在我看来只是更优雅一点。