以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]在表弹出的的下拉窗口,我选择后,为何下来列为空?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93123)

--  作者:蓝才文百
--  发布时间:2016/11/21 11:49:00
--  [求助]在表弹出的的下拉窗口,我选择后,为何下来列为空?
在第二列,我设置了一个DropDownForm,用户点下拉三角号后,出现这个窗口。这个窗口中有一个Table,里面是存放参数表,我双击table的行后,隐藏次DropDownForm,同时把值置入Tables("Product")当前行对应的列中,代码如下:

Dim strProdType As String =e.Form.Controls("tblProdType").Table.Current("类别")
Dim strHGBM As String = e.Form.Controls("tblProdType").Table.Current("编码")
Tables("Product").Current("F2")= strProdType
Tables("Product").Current("F3")= strHGBM

双击后,我的F3列可以正常得到参数值,F2列空白,不知道什么原因?

--  作者:有点青
--  发布时间:2016/11/21 11:53:00
--  

改一下

 

Dim strProdType As String =e.Form.Controls("tblProdType").Table.Current("类别")
Dim strHGBM As String = e.Form.Controls("tblProdType").Table.Current("编码")

Dim r As Row = Tables("Product").Current
r("F2")= strProdType
r("F3")= strHGBM

 

msgbox(strProdType)


--  作者:蓝才文百
--  发布时间:2016/11/21 11:56:00
--  
MessageBox弹出的值是正确的,Product表,F2列还是空白一片哦

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

我把值赋予其他列,也是可以的,就是无法赋予这个下拉列,奇怪奇怪!
[此贴子已经被作者于2016/11/21 12:40:11编辑过]

--  作者:蓝才文百
--  发布时间:2016/11/21 12:41:00
--  
我想代码写法应该是没问题的。似乎值被吃掉了?
--  作者:蓝才文百
--  发布时间:2016/11/21 13:33:00
--  
搞定了,参考示例代码,主要是要用 e.form.dropdownbox.value替代具体的表字段。

代码改为,完美解决
Dim strProdType As String =e.Form.Controls("tblProdType").Table.Current("类别")
Dim strHGBM As String = e.Form.Controls("tblProdType").Table.Current("编码")
e.Form.DropDownBox.Value = strProdType \'此处原来用Tables("Product").Current("F2"),这样不行
Tables("Product").Current("F3")=strHGBM
e.Form.DropDownBox.CloseDropDown()
[此贴子已经被作者于2016/11/21 13:38:45编辑过]

--  作者:有点蓝
--  发布时间:2016/11/21 14:32:00
--  
单元格编辑状态,代码赋值是无效的,只能按5楼的方式处理