以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何在表中实现带查找功能的下拉目录树?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92181)

--  作者:pladic
--  发布时间:2016/10/28 9:40:00
--  [求助]如何在表中实现带查找功能的下拉目录树?
http://www.foxtable.com/webhelp/index.htm?page=2961.htm

5、最后在项目事件AfterOpenProject事件中加入代码:

Tables("客户").Cols("县市").DropForm = "窗口1"

能出现下拉目录树,且能检索,但单击鼠标后,却没有向对应列赋值。

e.Form.DropDownBox.Value = tr("县市") ‘这行代码是什么意思?
[此贴子已经被作者于2016/10/28 9:55:48编辑过]

--  作者:有点蓝
--  发布时间:2016/10/28 9:58:00
--  
就是向对应列赋值的意思
--  作者:pladic
--  发布时间:2016/10/28 10:34:00
--  回复:(有点蓝)就是向对应列赋值的意思
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

tr(县市)=dr(县市),这不已经赋值了?

--  作者:有点蓝
--  发布时间:2016/10/28 10:38:00
--  
例子里是向下拉窗口对应的控件赋值
--  作者:pladic
--  发布时间:2016/10/28 11:03:00
--  具体需求描述
A表有四列,一级、二级、三级、单位
B表有四列,一级、二级、三级、单位
下拉窗口为“级别窗口”

需求是:在A表的单位列,和录入窗口的“单位”控件,输入字符串,即可查询到B表的对应节点。点击节点(B表第三列),将B表的前三列对应赋值到A表的前三列。

目前,可以定位到查询的节点。但鼠标点击后,没有发生赋值动作。

我分析是这段代码有问题:


TreeView控件的NodeMouseClick事件代码设置为:

If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim tr As Row = Tables("A").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


疑点一是节点的层数,二是 e.Form.DropDownBox.Value = tr("单位")

求教

问题解决了。两个疑点都有错误,已更正。
[此贴子已经被作者于2016/10/28 11:14:22编辑过]

--  作者:qqibai
--  发布时间:2016/10/28 15:27:00
--  
以下是引用有点蓝在2016/10/28 10:38:00的发言:
例子里是向下拉窗口对应的控件赋值

正好看到,问下,如何通过ENTER键对下拉列表赋值,因为是自动查询的,输完第一个字很可能正确的就有了,要用鼠标点麻烦,用回车就搞定最好了!


--  作者:LQS1168
--  发布时间:2016/10/28 15:30:00
--  
初来乍到,想了解出口设置,求助
--  作者:有点蓝
--  发布时间:2016/10/28 15:43:00
--  
回6楼,参考:http://www.foxtable.com/webhelp/scr/0741.htm

树控件KeyDown事件判断是enter键就执行和鼠标点击一样的代码
If e.KeyCode = Keys.Enter Then
    赋值代码

End
 
If

--  作者:有点蓝
--  发布时间:2016/10/28 15:44:00
--  
回7楼。你的出口设置具体指什么,请详细说明