找回密码
 立即注册

QQ登录

只需一步,快速开始

地下淮山

初级会员

3

主题

19

帖子

200

积分

初级会员

积分
200
最新发帖
地下淮山
初级会员   /  发表于:2023-9-2 10:04  /   查看:1654  /  回复:4
100金币
本帖最后由 地下淮山 于 2023-9-13 20:22 编辑

求助大佬!我想实现表格默认不可编辑,点击编辑按钮后可以实现添加、修改、删除数据。点击锁定按钮后,表格锁定不可编辑。


首先插件有个,不过我不想升级软件。其次在论坛也学习到两种方法,不满足我的要求。
第一种:只能编辑和锁定,不能添加和删除

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;
    }
);


第二种:要先表格上先勾选允许编辑、添加新行、显示删除按钮,否则失效。而我想要默认是不可编辑状态。

var mylist = Forguncy.Page.getListView("表格1");
mylist._grid.listviewData.metadata.CanAddRow = true;
mylist._grid.listviewData.metadata.CanEdit = true;
mylist._grid.listviewData.metadata.CanDelete = true;

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

最佳答案

查看完整内容

参考一下这个DEMO,增加一个辅助列,用按钮来控制辅助列,从而实现锁定及编辑 DEMO中只锁定了 电话,地址,性别三栏 你版本低的话直接看正面的JS代码: var p = Forguncy.Page var listview = p.getListView("表格1"); var activeSheet = listview.getControl().getActiveSheet(); activeSheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) { if (listview.getRowCount()

4 个回复

正序浏览
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2023-9-5 17:54:46
5#
感谢各位大佬的支持~

js我们也不是很了解,您可以可以尝试使用下方两个插件去实现哈,建议您升级版本中去体验新功能使用哈

本帖子中包含更多资源

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

x
回复 使用道具 举报
地下淮山
初级会员   /  发表于:2023-9-5 10:31:03
4#
fanhuayimeng 发表于 2023-9-4 08:33
参考一下这个DEMO,增加一个辅助列,用按钮来控制辅助列,从而实现锁定及编辑
DEMO中只锁定了 电话,地址 ...

谢谢你的回复,这个是可以解决,但是比较繁琐。我的好几个页面只是怕误操作,想法就是先表格不能“允许编辑”“添加新行”,按下按钮后可以“允许编辑”“添加新行”,另一个按钮锁定。
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2023-9-4 11:01:48
3#
感谢fanhuayimeng大佬的支持~
回复 使用道具 举报
最佳答案
最佳答案
fanhuayimeng
论坛元老   /  发表于:2023-9-2 10:04:56
来自 2#
本帖最后由 fanhuayimeng 于 2023-9-4 08:35 编辑

参考一下这个DEMO,增加一个辅助列,用按钮来控制辅助列,从而实现锁定及编辑
DEMO中只锁定了 电话,地址,性别三栏


你版本低的话直接看正面的JS代码:

var p = Forguncy.Page
    var listview = p.getListView("表格1");
var activeSheet = listview.getControl().getActiveSheet();
activeSheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {

    if (listview.getRowCount() <= args.row) {
        return;
    }
    var v = listview.getValue(args.row, 8);

    if (args.col == 3 && v == 1) {
        args.cancel = true;
        return;
    }
    if (args.col ==4 && v == 1) {
        args.cancel = true;
        return;
    }
    if (args.col ==5 && v == 1) {
        args.cancel = true;
        return;
    }

});



本帖子中包含更多资源

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

x

评分

参与人数 1金币 +5 收起 理由
Lay.Li + 5 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部