关于下拉目录树输入问题:
<!--[if !supportLists]-->1
<!--[endif]-->基本情况:
Table(“合同类别”)
Table(“合同台账”)
<!--[if !supportLists]-->2
<!--[endif]-->目的:
希望利用Table(“合同类别”)的数据,建立下拉目录树窗口,在Table(“合同台账”).Col(“合同类型”)中调用该下拉目录树窗口,点击自动输入Col(“合同类型”)& Col(“一级合同类别”)& Col(“二级合同类别”)& Col(“三级合同类别”)
<!--[if !supportLists]-->3
<!--[endif]-->操作:
<!--[if !supportLists]-->3.1 <!--[endif]-->在Table(“合同类别”)中,新建一个窗口,名为“合同类别目录树”,窗口类型设置为“DropDownForm”;
<!--[if !supportLists]-->3.2 <!--[endif]-->该窗口中插入一个TreeView控件;
<!--[if !supportLists]-->3.3 <!--[endif]-->该窗口的的AfterLoad事件设置为:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("合同类别","合同类型名称|一级合同类别名称|二级合同类别名称|三级合同类别名称")
<!--[if !supportLists]-->3.4 <!--[endif]-->TreeView的NodeMouseClick事件代码设置为:
<!--[if !supportLists]-->4
<!--[endif]-->If e.Node.Level = 3 Then
Dim Vals() As String = e.Node.FullPath.Split("\")
Dim Filter As String = "[合同类型名称] = '" & Vals(0) & "' And [一级合同类别名称] = '" & Vals(1) & "' And [二级合同类别名称] = '" & Vals(2) & "' And [三级合同类别名称] = '" & Vals(3) & "'"
Dim dr As DataRow = DataTables("合同类别").Find(Filter)
Dim r As Row = Tables("合同台账").Current
If dr IsNot Nothing Then
r("合同类型")
= dr("合同类型名称")
r("一级合同类别")
= dr("一级合同类别名称")
r("二级合同类别")
= dr("二级合同类别名称")
r("三级合同类别")
= dr("三级合同类别名称")
e.Form.DropDownBox.Value =
r("三级合同类别")
End If
e.Form.DropDownBox.CloseDropdown()
End If
<!--[if !supportLists]-->4.1
<!--[endif]-->在Table(“合同台账”)的CellButtonClick事件中设置:
Forms("合同类别目录树").Open()
e.Cancel = True
<!--[if !supportLists]-->5
<!--[endif]-->问题:
<!--[if !supportLists]-->5.1 <!--[endif]-->运行后,在Table(“合同台账”)内,没有反应,连下拉菜单标记都没有。
<!--[if !supportLists]-->5.2 <!--[endif]-->将窗口属性修改成“模式”,应用后窗口内的目录树正常:
<!--[if !supportLists]-->5.3 <!--[endif]-->命令窗口测试调用“模式”窗口,目录树也正常
<!--[if !supportLists]-->6
<!--[endif]-->请教高手问题出在哪里?