以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]目录树取值的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94278)

--  作者:pladic
--  发布时间:2016/12/20 15:03:00
--  [求助]目录树取值的问题
某列属性设置为目录树列表,共有3级。
如果三个级别都有内容,用鼠标点击第3层节点,可以顺利分别为三列赋值;
但如果二级或三级内容为空,用鼠标点击第1层或第2层节点,则不能为对应的三列赋值。

--  作者:有点色
--  发布时间:2016/12/20 15:22:00
--  

 你可以单独做一个下拉目录树。

 

http://www.foxtable.com/webhelp/scr/2350.htm

 


--  作者:pladic
--  发布时间:2016/12/20 16:13:00
--  回复:(有点色) 你可以单独做一个下拉目录树。...
因为在这个表的其它列中已经用了2个自行设计的目录树,所以本想直接用列属性完成。
如果这种方式不支持只给一、二级列赋值,那只好另想办法了。

--  作者:有点色
--  发布时间:2016/12/20 16:38:00
--  
没办法,只能通过自己编写代码解决的。
--  作者:pladic
--  发布时间:2016/12/20 16:45: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

再加两个判断节点层级的语句吗?

If e.Node.Level = 0 Then

If e.Node.Level = 2 Then

--  作者:有点色
--  发布时间:2016/12/20 16:53:00
--  
 嗯嗯,是的,单独判断。