请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

flyhigh23

中级会员

92

主题

213

帖子

941

积分

中级会员

积分
941
flyhigh23
中级会员   /  发表于:2021-10-16 18:18  /   查看:3158  /  回复:9
1金币
本帖最后由 flyhigh23 于 2021-10-16 18:20 编辑

需要动态的控制表格的加载状态,比如页面点击审核按钮后,整个表格即时的变成只读状态,点击反审核按钮后,即时的变为可修改状态。
表头的单元格可以通过设置单元格命令的方式,控制禁用,但是表格只能在设计器中修改状态,请问通过js能否控制整个表格不允许修改
我看了官方文档,没有提供此操作的js api

最佳答案

查看完整内容

看看有用吗 https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=97805 或者折中解决办法 https://gcdn.grapecity.com.cn/showtopic-50949-1-1.html

9 个回复

倒序浏览
最佳答案
最佳答案
zyk.Zhou活字格认证
论坛元老   /  发表于:2021-10-16 18:18:29
来自 2#
本帖最后由 zyk.Zhou 于 2021-10-16 18:35 编辑

看看有用吗
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=97805

或者折中解决办法
https://gcdn.grapecity.com.cn/showtopic-50949-1-1.html
回复 使用道具 举报
flyhigh23
中级会员   /  发表于:2021-10-17 15:37:54
3#
zyk.Zhou 发表于 2021-10-16 18:33
看看有用吗
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=97805

感谢。看着你的链接才知道使用的是spreadjs的api,查了下spreadjs的官方文档,通过设置整个表页保护,可以控制整个表不能被编辑

var p = Forguncy.Page
    var listview = p.getListView("表格1");
var activeSheet = listview.getControl().getActiveSheet();
        var option = {
                allowSelectLockedCells:true,
                allowSelectUnlockedCells:true,
                allowFilter: true,
                allowSort: false,
                allowResizeRows: true,
                allowResizeColumns: false,
                allowEditObjects: false,
                allowDragInsertRows: false,
                allowDragInsertColumns: false,
                allowInsertRows: false,
                allowInsertColumns: false,
                allowDeleteRows: false,
                allowDeleteColumns: false,
                allowOutlineColumns: false,
                allowOutlineRows: false
        };
        activeSheet .options.protectionOptions = option;
        activeSheet .options.isProtected = true;
回复 使用道具 举报
flyhigh23
中级会员   /  发表于:2021-10-17 16:04:20
4#
有数据的情况下,页面保护会失效,还是只能通过editstarting来控制
var p = Forguncy.Page
    var listview = p.getListView("表格1");
var activeSheet = listview.getControl().getActiveSheet();
activeSheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
        args.cancel = true;
       return;
    }
);
回复 使用道具 举报
zyk.Zhou活字格认证
论坛元老   /  发表于:2021-10-17 16:19:34
5#
flyhigh23 发表于 2021-10-17 15:37
感谢。看着你的链接才知道使用的是spreadjs的api,查了下spreadjs的官方文档,通过设置整个表页保护,可 ...

有用的话,好评最佳答案哦
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2021-10-18 11:21:08
6#
感谢各位大佬的支持~
之后有问题欢迎继续发帖交流哈
回复 使用道具 举报
zhangsheng
金牌服务用户   /  发表于:2022-12-5 17:17:58
7#
本帖最后由 zhangsheng 于 2022-12-5 17:21 编辑
flyhigh23 发表于 2021-10-17 16:04
有数据的情况下,页面保护会失效,还是只能通过editstarting来控制
var p = Forguncy.Page
    var listv ...




大佬,按照您的方法可以用js在页面控制表格编辑属性,很赞!
有个小问题,如果表格默认允许删除行,这个js不能屏蔽这个删除操作(表格每行左侧那个黑色的"x"删除建)。
spreadjs还没有研究,请问大佬这个问题能解决不?

本帖子中包含更多资源

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

x
回复 使用道具 举报
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-12-5 17:44:02
8#
zhangsheng 发表于 2022-12-5 17:17
大佬,按照您的方法可以用js在页面控制表格编辑属性,很赞!
有个小问题,如果表格默认允许删除行 ...




老板表格设置里不是可以设置?
回复 使用道具 举报
olookok活字格认证
论坛元老   /  发表于:2023-4-6 21:14:57
10#
这个功能不是说要出官方插件的吗?
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2023-4-7 09:12:01
11#
大佬,关于这个这个已经记录需求啦,编号 41965。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部