很多用户,包括帮助文件,都忽略了一个重要的属性:
http://www.foxtable.com/help/topics/2689.htm
例如帮助中的代码:
If e.Node.Level = 1 Then '如果单击的是第二层节点
Dim ps() As String = e.Node.FullPath.Split("\")
Dim tr As Row = Tables("客户").Current
Dim dr As DataRow = DataTables("行政区域").Find("省市 = '" & ps(0) & "' And 县市 = '" & ps(1) & "'")
If dr IsNot Nothing Then '如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
tr("省市") = dr("省市")
tr("县市") = dr("县市")
tr("区号") = dr("区号")
tr("邮编") = dr("邮编")
e.Form.DropDownBox.Value = tr("县市") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
End If
e.Form.DropDownBox.CloseDropdown() '关闭下拉目录树
End If
完全可以改写为:
If e.Node.Level = 1 Then '如果单击的是第二层节点
Dim tr As Row = Tables("客户").Current
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
tr("省市") = dr("省市")
tr("县市") = dr("县市")
tr("区号") = dr("区号")
tr("邮编") = dr("邮编")
e.Form.DropDownBox.Value = tr("县市") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
e.Form.DropDownBox.CloseDropdown()
End If
简单不伤神。
[此贴子已经被作者于2014-1-9 11:06:09编辑过]