以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自己做的录入窗口绑定某列的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65662)

--  作者:cyrollin
--  发布时间:2015/3/20 9:53:00
--  自己做的录入窗口绑定某列的问题
上次请教了一个问题,就是在表里面直接输入,某一列是多选,绑定了另外一个表的某一列,当那个列有空白行的时候,在下拉列表里面就有空白行,然后TIAN老师就叫我在prepareEdit事件中,加入这样代码:
If MainTable.Name = "表名" Then \'如果选择的主表是订单表
    Tables("表名").Cols("列表名").Combolist = DataTables("表名").GetComboListString("列表名")
End If
问题得到了解决,空白行就不出现在下拉列表中了。

现在我自己做了一个录入窗口,也绑定了某个表的某一列,也是有空白行,然后空白行又出现在下拉列表中了,如下图所示:

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


--  作者:Bin
--  发布时间:2015/3/20 9:55:00
--  
对于控件,同样是这么做 http://www.foxtable.com/help/topics/1523.htm
--  作者:cyrollin
--  发布时间:2015/3/20 10:20:00
--  
看了,没搞懂,用示例一会出现一个错误,用示例二,没看明白。 不知道怎么套用到我的案例中。
--  作者:有点甜
--  发布时间:2015/3/20 10:26:00
--  

这么简单也不会?

 

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

 


--  作者:cyrollin
--  发布时间:2015/3/20 10:37:00
--  
以下是引用有点甜在2015/3/20 10:26:00的发言:

这么简单也不会?

 

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

 


TIANTIAN,您给的示例还挺简单的,我用到我的projec中:


控件名: CheckedComboBox1


afterload 事件:

Dim cmb As WinForm.ComboBox

cmb = Forms("派工服务").Controls("checkedcombobox1")

cmb.ComboList = DataTables("列表数据").GetComboListString("第二列")


然后错误提示:


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


--  作者:cyrollin
--  发布时间:2015/3/20 10:39:00
--  
上面 dim cmb as winform.combobox 改成 
dim cmb as winform.checkedcombobox
会出现: 

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,派工服务,AfterLoad
详细错误信息:
设置 DataSource 属性后无法修改项集合。



--  作者:Bin
--  发布时间:2015/3/20 10:40:00
--  
不要设置来自列,去掉   用代码赋值还设置属性会冲突


--  作者:cyrollin
--  发布时间:2015/3/20 10:50:00
--  
哦,懂了,用了一个很笨的方法,不知道能不能简化一下:

Dim cmb As WinForm.checkedComboBox
cmb = Forms("派工服务").Controls("checkedcombobox1")
cmb.ComboList = DataTables("列表数据").GetComboListString("第二列")

Dim cmb2 As WinForm.checkedComboBox
cmb2 = Forms("派工服务").Controls("checkedcombobox2")
cmb2.ComboList = DataTables("列表数据").GetComboListString("第二列")

Dim cmb3 As WinForm.ComboBox
cmb3 = Forms("派工服务").Controls("combobox5")
cmb3.ComboList = DataTables("列表数据").GetComboListString("第二列") + DataTables("列表数据").GetComboListString("第一列")

--  作者:有点甜
--  发布时间:2015/3/20 10:52:00
--  

Dim ls1 = DataTables("列表数据").GetComboListString("第二列")
Dim ls2 = DataTables("列表数据").GetComboListString("第一列")

Dim cmb As WinForm.checkedComboBox
cmb = Forms("派工服务").Controls("checkedcombobox1")
cmb.ComboList = ls1


Dim cmb2 As WinForm.checkedComboBox
cmb2 = Forms("派工服务").Controls("checkedcombobox2")
cmb2.ComboList = ls1

Dim cmb3 As WinForm.ComboBox
cmb3 = Forms("派工服务").Controls("combobox5")
cmb3.ComboList = ls2 & "|" & ls1


--  作者:Bin
--  发布时间:2015/3/20 10:55:00
--  

Dim cl1 as sring = DataTables("列表数据").GetComboListString("第二列")
Dim cl2 as string = DataTables("列表数据").GetComboListString("第一列")

Forms("派工服务").Controls("checkedcombobox1").ComboList =cl1

Forms("派工服务").Controls("checkedcombobox2").ComboList =cl1

Forms("派工服务").Controls("combobox5").ComboList cl2 & "|" & cl1