以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]列的自定义项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66545)

--  作者:huhu
--  发布时间:2015/4/9 10:24:00
--  [求助]列的自定义项目

数据表“A” ,是分页显示的,比如现在有5页。且有2列,第一列,第二列

表"B",我在第三列的列自定义是这么定义的。数据表是“A”,显示列是“第一列”,取值列是“第二列”。

问题,怎么表“B”的第三列的下拉按钮显示出来的项目只有表"A"的第一页数据,其他4页数据没有,这是怎么回事?不应该都显示出来吗?


--  作者:Bin
--  发布时间:2015/4/9 10:27:00
--  
呵呵,当然不是,直接设置是从表已加载的信息的.

你得用代码从后台加载取得所有内容然后赋值才可以, 你可以考虑不分页.


如果你数据量大到一定要分页,那你还用下拉也不科学啊.岂不是长到没朋友. 



--  作者:狐狸爸爸
--  发布时间:2015/4/9 10:28:00
--  

没有加载的数据,是不会出现的,这种情况可以参考:

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

 

注意从后台提取数据,比较费时,所以不可以将代码卸载prepareEdit事件中,可以写在AfterOpenproject或者currentTablechanged、MainTableChanged等项目事件中。

 

二楼说的有道理,既然数据这么多,下拉也没有意义的哦,还不如直接输入呢。

[此贴子已经被作者于2015/4/9 10:28:46编辑过]

--  作者:huhu
--  发布时间:2015/4/9 11:07:00
--  

实际上没那么多。因为我设置了过滤条件,另外不是还可以设置多列显示么。

 

现在我需要用代码来写,SQLGetComboListString设置filte,然后取出不重复的值。比较符合我的想法。

应该写入afteropenproject中吧,一打开工程就让它把数据取出来。

怎么写呢?要达到显示列和取值列的效果。下面的代码肯定是不对的,怎么写呢。请教。

datatables(“B”).datarows("第三列") = datatables(“A”).SQLGetComboListString(“第二列”,[第二列] <> ‘z’ and [第二列] <> ‘yz’)

 


--  作者:Bin
--  发布时间:2015/4/9 11:14:00
--  
多列数据字段一定要加载表



--  作者:狐狸爸爸
--  发布时间:2015/4/9 11:16:00
--  
Tables("表B").Cols("第三列").Combolist = DataTables("表A").SQLGetComboListString("第二列","[第二列] <> \'z\' And [第二列] <> \'yz\'")
 
你应该还没有学到开发部分,别着急,继续按照目前的顺序学习,到后面就理解了

[此贴子已经被作者于2015/4/9 11:20:03编辑过]

--  作者:huhu
--  发布时间:2015/4/9 11:27:00
--  
以下是引用狐狸爸爸在2015/4/9 11:16:00的发言:
Tables("表B").Cols("第三列").Combolist = DataTables("表A").SQLGetComboListString("第二列","[第二列] <> \'z\' And [第二列] <> \'yz\'")
 
你应该还没有学到开发部分,别着急,继续按照目前的顺序学习,到后面就理解了

[此贴子已经被作者于2015/4/9 11:20:03编辑过]

正在学习,模拟练习。。

你的代码我理解。但是应该没实现显示列和取值列的功能。你的代码应该是显示列和取值列都是第二列。而非显示列是“第一列”,取值列是“第二列”。


--  作者:狐狸爸爸
--  发布时间:2015/4/9 11:32:00
--  
这个没办法设置显示列和取值列的。