找回密码
 立即注册

QQ登录

只需一步,快速开始

phoben 讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-11-8 23:25  /   查看:364  /  回复:19
本帖最后由 Brian.Zhang 于 2024-11-13 20:18 编辑

原来我自己魔改了一个版本,因为担心长久用下去以后跟不上官方版本,所以决定用官方这次升级的插件
但是升级后发现,官方新版本,相比我之前魔改的少了几个东西,希望可以加上,还是很实用的。

1. “配置表格列”里,无法提前隐藏某些列。
2.  无法动态隐藏按钮,我原来的方案是暴露一个公式框,允许使用`item["字段名"]>5`这样的公式,通过插件的JS来运行,实现动态根据行数据决定是否显示某些按钮。这个功能也是用途很广泛,比如对某些行的特殊提示,再或者对某些行的禁止编辑、禁止删除之类的。
3. EL表格没有“获取表格数据源”功能,少了这个,很多逻辑命令里,我就无法获取表格所有数据,常用来提交、取出所有ID、运算等等。。。






我魔改的版本:

1.可以获取表格数据源为JSON;


2. 可以配置列隐藏


3. 可以只定义部分列,而不定义的也会在表格里显示
   这么做的目的也是为了实用,当多种不同数据源都用这个EL表格渲染时,我只需要定义一些公共字段,比如“日期”、“金额”之类的,其他列就让他正常显示即可,因为是不同表的字段,没法提前设置所有列;



4. 动态显示按钮
   可以根据行数据自己写条件,决定是否显示这个按钮,常见的是编辑、删除这些按钮不是每一行都显示。




以上提到的所有功能,我用了几个月时间,比较稳定,而且与官方插件基本无冲突,可以提供源码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

19 个回复

倒序浏览
moer活字格认证
金牌服务用户   /  发表于:2024-11-10 13:15:20
沙发
回复 使用道具 举报
Brian.Zhang
超级版主   /  发表于:2024-11-13 20:18:24
板凳
了解,超哥厉害了!
您能不能分享下2、3实现的具体的业务场景,因为这些功能肯定都是有用的,活字格最后也需要考虑通用性如何。
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-11-13 20:58:15
地板
本帖最后由 phoben 于 2024-11-13 21:08 编辑
Brian.Zhang 发表于 2024-11-13 20:18
了解,超哥厉害了!
您能不能分享下2、3实现的具体的业务场景,因为这些功能肯定都是有用的,活字格最后也 ...

为什么要提前配置列?

例如表格内的ID、流程实例ID、创建日期等等列,我都需要提前设置好隐藏、格式、样式等等,这样当EL表格渲染完成时,就不会渲染隐藏的列,格式也是对的,然后命令里还是能正常使用它们的值。
有隐藏列功能,但是不开放出来,放到另一个运行时命令里,这显然不是很理想,我看了源码,只需要将"hide"属性移到基类上去就OK了。



为什么“配置表格列”不能影响字段数量

关于为什么这个逻辑更合理,也是我大量使用案例中总结出来的,具体理由那就太多了,我随便列几个:
  • 既然我不使用某个字段,我可以在数据源里不选它,或者列配置里隐藏即可;
  • 我可以只针对部分列进行属性配置,其他列就默认属性就行,减少我的工作量;
  • 面对多种数据源,共用EL表格的情况下,我是不可能把所有表的字段全配置到“配置表格列”里的;


举例
某个业务数据表,根据业务类型从不同表读取JSON填充到EL表格,那么我只需提前配置4个列属性:
  • ID:隐藏;
  • 日期:"YYYY-MM-DD";
  • 用户:宽度150px
  • 状态:标签样式;

其他列我就不配置了、也配置不了
因为我不知道还会有哪些列,这个表是动态填充的
但是我定义了这几个关键的就错不了
只要未来数据源里有这几个列,就会应用我的配置

对老用户影响
个人觉得影响属于可接受范围,因为和业务逻辑毫无关系,只是表格渲染逻辑问题。
最大的影响就是原来用户从“配置表格列”里被删掉的列,现在会被重新显示,只需要用户使用新增的“隐藏”选项勾选即可。

综上所述,如果配置列属性必须全量配置所有列,即累赘也限制了灵活性
配置表格列”应该回归它字面意思,只是配置列的属性,不配置不代表我不要这一列。






回复 使用道具 举报
Brian.Zhang
超级版主   /  发表于:2024-11-15 20:52:21
5#
了解了,超哥你举得例子和上面提的一些点,我们下来评估下。
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-11-15 23:08:36
6#
超级爱超哥,
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-11-17 13:25:26
7#
Brian.Zhang 发表于 2024-11-15 20:52
了解了,超哥你举得例子和上面提的一些点,我们下来评估下。

好嘞,幸苦
回复 使用道具 举报
moer活字格认证
金牌服务用户   /  发表于:2024-11-17 14:03:44
8#
Brian.Zhang 发表于 2024-11-15 20:52
了解了,超哥你举得例子和上面提的一些点,我们下来评估下。

加油,下个版本能更新上不?
回复 使用道具 举报
jiangcj369
中级会员   /  发表于:2024-11-18 20:20:59
9#
本帖最后由 jiangcj369 于 2024-11-18 20:40 编辑

这个EL表格列支持隐藏的功能应该是必须的,大多数情况下的确是不会展示ID,但是逻辑引用的时候却要使用ID,目前的EL表格是你要想引用ID,就必须在表格内显示ID,这体验很糟糕,页面上看着一堆ID,让使用者看着很纳闷。或者可以让列的宽度设置为0,这样也实现了隐藏列,但是目前列的宽度最小必须是1
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-11-18 20:40:20
10#
jiangcj369 发表于 2024-11-18 20:20
这个EL表格列支持隐藏的功能应该是必须的,大多数情况下的确是不会展示ID,但是逻辑引用的时候却要使用ID, ...

是的,之前我自己改过一个版本,很好用,免费放在论坛了,目前最新版本官方也加上去了,不过还有一些细节不到位
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部