飞天 发表于 2024-3-28 17:36:29

【9.0.102】可以判断一个按钮的当前状态是否可用吗?

我不是要设置按钮是否可用,
而是要判断它当前的状态是可用还是不可用的


Edric.Li 发表于 2024-3-28 17:36:30

本帖最后由 Edric.Li 于 2024-3-30 09:32 编辑

如果我没理解错的话,给你提供一个思路,仅供参考,如果我理解错了,可以无视这条解决方案。

1. 创建一个模板命令,暂且在这里命名为“获取某个按钮是否是可用状态”
2. 给这个模板命令创建一个参数,命名为“按钮单元格名称”
3. 给这个模板命令创建一个返回值,命名为“是否可用”
4. 给这个模板命令配置两个命令。分别是JavaScript命令和返回命令。
5.javaScript内容如下:
(() => {
    // 从变量中读获取按钮单元格名称
    const buttonCellName = Forguncy.CommandHelper.getVariableValue("按钮单元格名称");

    // 获取去对应的单元格
    const cell = Forguncy.Page.getCell(buttonCellName);

    // 获取对应单元格的禁用状态
    const isDisabled = cell.getCellType().isDisabled();

    // 将结果塞到“结果”变量中
    Forguncy.CommandHelper.setVariableValue("结果", isDisabled ? "不可用" : "可用")
})();
6. 调用返回命令,返回是否可用 : =结果
7. 在页面上调用该模板命令,传入想要获取状态的单元格名称即可。

效果:



小年糕 发表于 2024-3-28 20:33:38

能问下,为什么要判断按钮状态吗?一般不都是设置状态吗?

飞天 发表于 2024-3-29 08:48:40

本帖最后由 飞天 于 2024-3-29 08:51 编辑

表格上的操作链接是不能直接关联权限的,我目前是在页面加载命令中来处理。这种方式得把权限角色在代码中写好,不好用。
我想在页面的隐藏区中放好相对应的按钮,这样就可以在活字格后台配置按钮的权限角色。然后再把表格上的操作链接跟按钮关联起来

所以就需要读取在应用权限之后按钮的状态


fanhuayimeng 发表于 2024-3-29 09:01:23

楼主是想根据不同角色,来显示或者隐藏后面的按钮么?

飞天 发表于 2024-3-29 09:08:19

fanhuayimeng 发表于 2024-3-29 09:01
楼主是想根据不同角色,来显示或者隐藏后面的按钮么?

对的
但我又不想在代码中写上角色名称。
希望用活字后台来统一管理角色权限,这样便于系统的权限审计

Lay.Li 发表于 2024-3-29 17:54:21

您好,目前的话没有方法去获取按钮是否可以执行,不过您这个需求的话,可以试试这样去实现,提前将每个角色可以查看的表格列保存下来,然后在页面加载时命令中控制表格展示哪一个状态就行


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


飞天 发表于 2024-3-29 18:09:17

Lay.Li 发表于 2024-3-29 17:54
您好,目前的话没有方法去获取按钮是否可以执行,不过您这个需求的话,可以试试这样去实现,提前将每个角色 ...

这个还是要在开发阶段就在代码中指定好角色名称吗?
可以达到像给按钮赋权一样,在活字格后台指定,以到达开发环境跟生产环境分离

Edric.Li 发表于 2024-3-30 09:23:53

我简单理解一下楼主的需求,看一下我理解的对么? 就是你想在页面上藏一堆按钮,然后给按钮设置单元格权限来控制是否可用,比如说,我有提交、删除、编辑三个操作,于是你创建了三个按钮,分别代表这这三个操作的权限,你想通过单元格权限来动态的配置这三者的权限,在处理的时候你希望有一个方式来判断这个按钮是否有权限,或者说是是否可用,对么?

林小鱼 发表于 2024-3-30 20:57:22

Edric.Li 发表于 2024-3-30 09:30
如果我没理解错的话,给你提供一个思路,仅供参考,如果我理解错了,可以无视这条解决方案。

1. 创建一 ...

我觉得你这个我将来肯定用得上 我先收藏起来
页: [1] 2
查看完整版本: 【9.0.102】可以判断一个按钮的当前状态是否可用吗?