以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于模糊查询的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30419)

--  作者:smljc19
--  发布时间:2013/3/27 15:28:00
--  关于模糊查询的问题
自己的想法就是说,
弄两个下拉框,一个下拉框作为查询的条件,一个下拉框作为条件的值,
第一个下拉框的条件内容就是表的列,
第二个下拉框的值就是第一个下拉框选定的列的不重复的值
不知道我这么描述对不对,有没有人能听懂,
也就是说这么弄好以后,就能直接做为模版,查询的条件和查询条件的值都能自动的根据表的变化而变化
比如下面是一张表:

         列A      列B      列C       列D     
  1     1A       1B       1C        1D
  2     2A       2B       2C        2D
  3     3A       3B       3C        3D


提取列的名称作为《下拉框一》的候选值(也就是 列A      列B      列C       列D )
然后当《下拉框一》的值选定为《列A》的时候:《下拉框二》的候选值就只有<1A,2A,3A>

基本想发就是这个,具体的代码怎么实现,最主要是怎么提取列名做为下拉框的候选值。。。


--  作者:smljc19
--  发布时间:2013/3/27 15:28:00
--  
沙发自己的,呵呵
--  作者:菲舍尔
--  发布时间:2013/3/27 15:37:00
--  
dim colnames as string=""
for each  dc as datacol in datatables("表名").datacols
     colnames = colnames & "|“ & dc.name
next
colnames = colnames.substring(1)

colnames就是你要的列名了

e.form.controls("combobox?").combolist = colnames



--  作者:smljc19
--  发布时间:2013/3/27 16:03:00
--  
第一个下拉框的功能实现了,但是第二个又弄不出来了,大神,再指导下嘛,呵呵呵
--  作者:FoxMan
--  发布时间:2013/3/27 16:10:00
--  
Dim fm1 As WinForm.Form =Forms("窗口1")
Dim Lm As  String = fm1.Controls("ComboBox1").Value
if Lm IsNot  Nothing then
     fm1.Controls("ComboBox2").ComboList = DataTables("XXX").GetComboListString(Lm)
End if

--  作者:e-png
--  发布时间:2013/3/27 16:11:00
--  
这个帮助中有很多地方说到,可搜索 ComboList
--  作者:smljc19
--  发布时间:2013/3/29 9:45:00
--  
所有功能以实现,谢谢大家了,大家讲的都对,