飞天 发表于 2024-4-17 13:33:20

【9.0.103】取得表格的全部多少列

我有一个表格,目前一共有二十多列,里面存了不同类别的数据

我想当按类别查询出数据时,只显示跟这个类别有关的列,把其它无关列隐藏起来。

我想了一个方案:查询后先隐藏全部列,然后再显示指定的几个相关列

遇到的问题是:怎么隐藏全部列? 好像没有一个这样命令,如果用循环把全部列一一隐藏,那我要怎么取得列的数量?

易水寒 发表于 2024-4-17 13:33:21

我想了一个方案:借助状态信息表提前缓存不同类别的列,然后查询的时候调用api找到特定类别的缓存信息,加载一下就好了。
1.创建状态信息表

2.提前准备类别,放一个文本框或者组合框,列选项命令和保存表格状态命令,如下

3.运行后,将需要的类别通过列选项命令和保存表格状态命令保存到状态信息表中,如下

4.到此,状态信息表中就有一些记录,如下

5.直接使用加载表格状态命令是不行的,因为这个命令和当前用户有绑定;所以只能使用内部api实现,如下,
var ls = Forguncy.Page.getListView("表格1");
var md = Forguncy.CommandHelper.getVariableValue("获取类别名称所在的缓存信息");
ls.loadColumnsStatusMetadata(md);

月落乌啼 发表于 2024-4-17 13:38:05

表格设置里面可以设置初始初始化页面不加载表格数据,后面再对选择的类别进行查询

Lay.Li 发表于 2024-4-18 12:06:19

感谢各位大佬的支持~

也可以参考下方的帖子


活字格9.0 update1新功能解密:七丶支持分用户记录表格、组合框列宽,显示隐藏、顺序
https://gcdn.grapecity.com.cn/showtopic-185106-1-1.html
(出处: 葡萄城开发者社区)


飞天 发表于 2024-4-19 08:41:18

Lay.Li 发表于 2024-4-18 12:06
感谢各位大佬的支持~

也可以参考下方的帖子


这个不是我要的,我不是按登陆用户,我是要按数据本身的类别

飞天 发表于 2024-4-19 08:43:39

下面这两张图,按我筛选的类别,显示不同的字段。


飞天 发表于 2024-4-19 09:48:31

本帖最后由 飞天 于 2024-4-19 09:50 编辑

我现在是用循环命令,先把所有列隐藏,然后再显示指定的几个列
有是有一点不足之外,列数不能自动获取,是写在代码中的





Lay.Li 发表于 2024-4-19 14:41:59

感谢各位大佬的支持~
大佬,这个不一定是要按照角色去控制哈,可以将需要存储的表格状态使用命令保存起来,然后切换组合框的值是使用加载表格状态命令去加载对应的表格状态即可



页: [1]
查看完整版本: 【9.0.103】取得表格的全部多少列