Foxtable(狐表)用户栏目专家坐堂 → [求助]列的自定义项目


  共有2935人关注过本帖树形打印复制链接

主题:[求助]列的自定义项目

帅哥哟,离线,有人找我吗?
huhu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]列的自定义项目  发帖心情 Post By:2015/4/9 10:24:00 [只看该作者]

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/9 10:27:00 [只看该作者]

呵呵,当然不是,直接设置是从表已加载的信息的.

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


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



 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/4/9 11:07:00 [只看该作者]

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

 

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

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

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

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/9 11:14:00 [只看该作者]

多列数据字段一定要加载表



 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/9 11:16:00 [只看该作者]

Tables("表B").Cols("第三列").Combolist = DataTables("表A").SQLGetComboListString("第二列","[第二列] <> 'z' And [第二列] <> 'yz'")
 
你应该还没有学到开发部分,别着急,继续按照目前的顺序学习,到后面就理解了

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

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By: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编辑过]

正在学习,模拟练习。。

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/9 11:32:00 [只看该作者]

这个没办法设置显示列和取值列的。

 回到顶部