孙杰 发表于 2021-8-20 09:25:40

动态设置表格允许编辑、新增行、删除(也可行)

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

上面是在格友分享中查到的,但是 CanDelete 设置无效,后来想到了一种方法,就是将前面的X 隐藏起来也是可行的办法

var adom = document.getElementsByClassName('deleteButton');
   for(var i = 0;i<adom.length;i++){
         adom.style.visibility = "hidden";
    };
将所有的deleteButton 全部隐藏,亲测可行。

小侠米 发表于 2021-8-20 15:52:27

本帖最后由 小侠米 于 2021-8-20 15:54 编辑

孙杰 发表于 2021-8-20 15:09
页面1
谢谢大佬,论坛有点问题,英文的【i】会自动消失
下面的 adom.style.visibility
改为 adom【i】.style.visibility

孙杰 发表于 2021-8-20 11:10:26

孙杰 发表于 2021-8-20 11:03
var mylist = Forguncy.Page.getListView("表格1");
mylist._grid.listviewData.metadata.CanAddRow = t ...


禁用表格编辑删除 JAVASCRIPT 命令

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


//定义事件处理函数
var select = function(arg1,arg2) {
   var adom = document.getElementsByClassName('deleteButton');
   for(var i = 0;i<adom.length;i++){
         adom.style.visibility = "hidden";
      };
}
//获取当前页面
var page = Forguncy.Page;
//获取表格对象
var listview = page.getListView("表格1");
//绑定表格的事件
listview.bind("selectionChanged", select);



2 启用表格编辑删除命令
var mylist = Forguncy.Page.getListView("表格1");
mylist._grid.listviewData.metadata.CanAddRow = true;
mylist._grid.listviewData.metadata.CanEdit = true;
mylist._grid.listviewData.metadata.CanDelete = true;


//定义事件处理函数
var select = function(arg1,arg2) {
    var adom = document.getElementsByClassName('deleteButton');
   for(var i = 0;i<adom.length;i++){
         adom.style.visibility = "visible";
      };
}
//获取当前页面
var page = Forguncy.Page;
//获取表格对象
var listview = page.getListView("表格1");
//绑定表格的事件
listview.bind("selectionChanged", select);


以上两个命令都是在表格绑定“selectionChanged” 事件中进行启用,禁用的。

vickdracula 发表于 2021-8-20 10:06:06

vickdracula 发表于 2021-8-20 10:04
再显示出来怎么写?

var adom = document.getElementsByClassName('deleteButton');
   for(var i = 0;i<adom.length;i++){
         adom.style.visibility = "visible";
    };

vickdracula 发表于 2021-8-20 10:04:19

再显示出来怎么写?

孙杰 发表于 2021-8-20 11:03:14

vickdracula 发表于 2021-8-20 10:04
再显示出来怎么写?

var mylist = Forguncy.Page.getListView("表格1");
mylist._grid.listviewData.metadata.CanAddRow = true;
mylist._grid.listviewData.metadata.CanEdit = true;
mylist._grid.listviewData.metadata.CanDelete = true;
   var adom = document.getElementsByClassName('deleteButton');
   for(var i = 0;i<adom.length;i++){
         
         adom.style.visibility = "visible";
      };

小侠米 发表于 2021-8-20 14:01:32

孙杰 发表于 2021-8-20 11:10
禁用表格编辑删除 JAVASCRIPT 命令

var mylist = Forguncy.Page.getListView("表格1");

selectionChanged是什么时候的操作?
鼠标表格随便点,删除的图标还是没有隐藏,无法禁用删除呢可以传个demo吗

孙杰 发表于 2021-8-20 14:06:24

小侠米 发表于 2021-8-20 14:01
selectionChanged是什么时候的操作?
鼠标表格随便点,删除的图标还是没有隐藏,无法禁用删除呢可以传 ...

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


//定义事件处理函数
var select = function(arg1,arg2) {
    var adom = document.getElementsByClassName('deleteButton');
   for(var i = 0;i<adom.length;i++){
         adom.style.visibility = "visible";
      };
}
//获取当前页面
var page = Forguncy.Page;
//获取表格对象
var listview = page.getListView("表格1");
//绑定表格的事件
listview.bind("selectionChanged", select);

上面的代码我是放到一个按钮上,通过点击按钮来把表格的selectionChanged 进行绑定,
在操作表格的时候需要先让上面的语句执行,然后在操作表格就会起作用。

小侠米 发表于 2021-8-20 14:12:11

孙杰 发表于 2021-8-20 14:06
var mylist = Forguncy.Page.getListView("表格1");
mylist._grid.listviewData.metadata.CanAddRow = t ...

是按钮上,不行呢,大佬看看附件是一样什么情况

孙杰 发表于 2021-8-20 15:09:36

页面1
页: [1] 2
查看完整版本: 动态设置表格允许编辑、新增行、删除(也可行)