以文本方式查看主题 - 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 -- 这个没办法设置显示列和取值列的。 |