Foxtable(狐表)用户栏目专家坐堂 → 要在录入窗口建一个下拉目录树,而录入接收列只要一列数据


  共有5966人关注过本帖树形打印复制链接

主题:要在录入窗口建一个下拉目录树,而录入接收列只要一列数据

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 15:47:00 [显示全部帖子]

就是,纸上不谈兵,直接做个例子发上来,几分钟就可以搞定。

如果没有例子,至少也得贴出你的代码,说明在什么事件写了什么代码,目的是什么,出现了什么错误。

[此贴子已经被作者于2014-1-8 15:47:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 15:57:00 [显示全部帖子]

呵呵,文件收到,你这么多窗口,请说明一下是哪一个表的哪一个窗口吧,否则让别人一个一个去比较去找?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 16:13:00 [显示全部帖子]

行业这个下拉窗口的NodeMouseClick事件代码改为:


Dim tr As Row = Tables("申请信息").Current
Dim dr As DataRow = e.node.DataRow
If dr IsNot Nothing Then
     e.Form.DropDownBox.Value = dr("门类") & "|" & dr("大类") & "|" & dr("中类") & "|" & dr("小类")
End If
e.Form.DropDownBox.CloseDropdown()

相关知识:
http://www.foxtable.com/help/topics/2689.htm


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 16:18:00 [显示全部帖子]

17楼的代码可以随意组合,理解楼主的问题真的很难,表述得很不严谨。

如果是lsy所言,代码改为:

Dim tr As Row = Tables("申请信息").Current
Dim dr As DataRow = e.node.DataRow
If dr IsNot Nothing Then
     if dr.isnull("小类") =  False
       e.Form.DropDownBox.Value = dr("小类")
     Elseif dr.isnull("中类") =  False
       e.Form.DropDownBox.Value = dr("中类")
     Elseif dr.isnull("大类") =  False
       e.Form.DropDownBox.Value = dr("大类")
    else
       e.Form.DropDownBox.Value = dr("门类")
    end if
End If
e.Form.DropDownBox.CloseDropdown()

你看看同样的问题,lsy表述得多么清晰易懂。

问题回复的质量,多数时候取决于你提问的质量。
[此贴子已经被作者于2014-1-8 16:19:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 16:23:00 [显示全部帖子]

这样更好一些:

Dim tr As Row = Tables("申请信息").Current
Dim dr As DataRow = e.node.DataRow
If dr IsNot Nothing Then
    If e.node.level = 3 Then
        e.Form.DropDownBox.Value = dr("小类")
    ElseIf e.node.level = 2 Then
        e.Form.DropDownBox.Value = dr("中类")
    ElseIf e.node.level = 1 Then
        e.Form.DropDownBox.Value = dr("大类")
    Else
        e.Form.DropDownBox.Value = dr("门类")
    End If
End If
e.Form.DropDownBox.CloseDropdown()

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 16:25:00 [显示全部帖子]

呵呵, lsy兄的更好,我绕糊涂了。

 

楼主可能只需这样:

 

e.Form.DropDownBox.Value = e.Node.Name

e.Form.DropDownBox.CloseDropdown()

[此贴子已经被作者于2014-1-8 16:27:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/1/8 16:25:00 [显示全部帖子]

以下是引用ysf58449888在2014-1-8 16:21:00的发言:
请问管理员老师:申请信息表“受理人”和“受理日期”在增加一行后自动填入登录人和当天日期和时间我也没搞懂。请帮个忙!

 

参考:

http://www.foxtable.com/help/topics/0630.htm

 

 

建议你先按顺序系统学习三遍帮助文件,再开始设计系统,这样会节省几倍的时间,而且绝大多数你现在觉得很难的问题,三遍帮助之后你会觉得这些太小儿科了。

[此贴子已经被作者于2014-1-8 16:30:27编辑过]

 回到顶部