Foxtable(狐表)用户栏目专家坐堂 → [求助]求几个关于下拉窗口与多值字段的问题?


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

主题:[求助]求几个关于下拉窗口与多值字段的问题?

帅哥哟,离线,有人找我吗?
fengwenliuyan
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
  发帖心情 Post By:2018/11/27 16:09:00 [只看该作者]

我将您的这段代码放在了下拉窗口的TextChanged事件代码中,
并把之前写在DropDownOpened和DropDownClosed事件中的代码隐藏了,
然后测试的结果是:
在表中的单笔框架的下拉窗口中只输入铁箱的数值,而不输入袋子的数值,那么结果确实是多值字段只显示铁箱的数值,而不显示袋子的数值。
但是,在表中的铁箱列或者袋子列中输入数据后,单笔框架的下拉窗口中却又会出现‘铁箱的数值+袋子的数值’了?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1 (1).table



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 16:44:00 [只看该作者]

DropDownOpened 事件代码不能删除。

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
[求助]DropDownOpened事件代码放上去了,还是不行?  发帖心情 Post By:2018/11/27 17:27:00 [只看该作者]


按您说的,我将DropDownOpened事件代码放上去了:
Dim t As Table = Tables("筐架表")
If t.Current("铁箱") <> Nothing Then
    e.Form.controls("textbox1").text = t.Current("铁箱")
Else
    e.Form.controls("textbox1").text = "铁箱"
End If
If t.Current("袋子") <> Nothing Then
    e.Form.controls("textbox3").text = t.Current("袋子")
Else
    e.Form.controls("textbox3").text = "袋子"
End If

测试结果,还是在表中的铁箱列或者袋子列中输入数据后,单笔框架的下拉窗口中却又会出现‘铁箱的数值+袋子的数值’了?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1 (1) (1).table



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 18:17:00 [只看该作者]

我测试没问题。请具体说明,如何测试后,希望达到什么效果。输入什么、得到什么都要说出来。


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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
[求助]应该是“5铁箱”,而不是“5铁箱+0袋子”  发帖心情 Post By:2018/11/27 18:34:00 [只看该作者]

测试:
在筐架表中,铁箱或袋子这2列中的任意其中一列,输入数值5,另一列不输入数值,结果在单笔筐架的单元格中,显示的却是“5铁箱+0袋子”
想要达到的目标是:
在筐架表中,铁箱或袋子这2列中的任意其中一列,输入数值5,另一列不输入数值,结果在单笔筐架的单元格中,显示的结果,应该是“5铁箱”,而不是“5铁箱+0袋子”?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1 (1) (1).table


测试后,还发现一个问题,
在单笔筐架的单元格中,显示“5铁箱”后,同步的会在表中的铁箱列显示5,袋子列无数值,
但是,
重新再下拉窗口中修改数据,在铁箱文本框中,将5这个数值删除,
表中的铁箱列却不会同步,依旧保持5这个数值,而且在再次选定下拉窗口后,会连单笔框架单元格中的修改后的文本也会自动跳掉?
想要达到的目标是:
重新再下拉窗口中修改数据,在铁箱文本框中,将5这个数值删除,
表中的铁箱列自动同步,变为删除5这个数值后的空值,
且,在再次选定下拉窗口后,单笔框架单元格中的修改后的文本,不会自动跳掉。
[此贴子已经被作者于2018/11/27 18:47:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 18:41:00 [只看该作者]

1、下拉窗口没问题;

 

2、如果你直接在表格里面输入,请去修改datacolchanged事件的代码,改成类似13楼的那种

 

Select Case e.DataCol.name
    Case "铁箱","袋子","铁筐","托盘"
       e.DataRow("单笔筐架") = e.DataRow("铁箱") & "铁箱+" &  e.DataRow("袋子") & "袋子"
End Select


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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
  发帖心情 Post By:2018/11/27 18:48:00 [只看该作者]

测试后,还发现一个问题,
在单笔筐架的单元格中,显示“5铁箱”后,同步的会在表中的铁箱列显示5,袋子列无数值,
但是,
重新再下拉窗口中修改数据,在铁箱文本框中,将5这个数值删除,
表中的铁箱列却不会同步,依旧保持5这个数值,而且在再次选定下拉窗口后,会连单笔框架单元格中的修改后的文本也会自动跳掉?
想要达到的目标是:
重新再下拉窗口中修改数据,在铁箱文本框中,将5这个数值删除,
表中的铁箱列自动同步,变为删除5这个数值后的空值,
且,在再次选定下拉窗口后,单笔框架单元格中的修改后的文本,不会自动跳掉。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/27 20:23:00 [只看该作者]

Dim t As Table = Tables("筐架表")
Dim str As String = ""
Dim v1 = val(e.Form.controls("textbox1").text)
If v1 > 0 Then
    t.Current("铁箱") = v1
    str &= v1 & "铁箱+"
Else
    t.Current("铁箱") = Nothing
End If
Dim v3 = val(e.Form.controls("textbox3").text)
If v3 >0 Then
    t.Current("袋子") = v3
    str &= v3 & "袋子+"
Else
t.Current("袋子") = Nothing
End If
e.Form.DropDownBox.value = str.trim("+")

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
[求助]已经改成13楼的类型了,但是还是有问题?  发帖心情 Post By:2018/11/27 23:48:00 [只看该作者]

测试操作:
表中的单笔筐架的下拉窗口中,
铁箱文本输入4,托盘文本输入9,
然后点击下拉窗口以外的单元格,会发现铁箱文本的4有显示,
但是托盘文本的9没有显示,
然后再在新的一个单笔筐架的下拉窗口打开,会发现这个9跑到了新打开的下拉窗口中,
然后再点击下拉窗口以外的单元格,会发现这个9跑到了此单元格所在行的托盘列,
不知道哪里出了错,求帮助?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1 (1) (1) (1).table



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/28 10:01:00 [只看该作者]

下拉窗口不能绑定控件,全部手工赋值

Dim t As Table = Tables("筐架表")

Dim str As String = ""
Dim v1 = val(e.Form.controls("textbox1").text)
If v1 > 0 Then
'    t.Current("铁箱") = v1
    str &= v1 & "铁箱"
    t.Current("铁箱") = v1
Else
    t.Current("铁箱") = Nothing
End If

Dim v2 = val(e.Form.controls("textbox2").text)
If v2 > 0 Then
'    t.Current("铁筐") = v2
    str &= v2 & "铁筐"
    t.Current("铁筐") = v2
Else
    t.Current("铁筐") = Nothing
End If

Dim v3 = val(e.Form.controls("textbox3").text)
If v3 >0 Then
'    t.Current("袋子") = v3
    str &= v3 & "袋子"
    t.Current("袋子") = v3
Else
t.Current("袋子") = Nothing
End If

Dim v4 = val(e.Form.controls("textbox4").text)
If v4 >0 Then
'    t.Current("托盘") = v4
    str &= v4 & "托盘"
    t.Current("托盘") = v4
Else
t.Current("托盘") = Nothing
End If

e.Form.DropDownBox.value = str.trim("")

 回到顶部
总数 27 上一页 1 2 3 下一页