制表符-可以在另一列(布尔值)上选择资格来选择

时间:2018-10-22 12:58:00

标签: tabulator

我有一个表,该表具有使用基于另一列(布尔值)的选择资格的可选择行,该资格列是可编辑的(刻度线)。设置方式是,如果此列的值为'true',则该行是可选的,当在制表符中加载数据时,该行就可以正常工作。但是,当单击以切换刻度线时,将切换列值,但随后该行的确反映了选择资格,其选择资格已相应更改。 我如何确保在更改列值后,该行是自动选择还是不可选择?还是可以使用此解决方法?我尝试在我的方法中调用redraw方法,该方法在更改tickcross列值后立即切换了tickcross,但这没有用。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

之所以会发生这种情况,是因为在第一次渲染该行时会调用 selectableCheck 函数,因为它会影响样式。

目前尚无内置方法,但您可以关闭行选择

var table = new Tabulator("#example-table", {
    selectable:false,
});

,然后在符合条件的情况下将 rowClick 回调用于切换行选择:

var table = new Tabulator("#example-table", {
    rowClick:function(e, row){
    //e - the click event object
    //row - row component

        if(row.getData().selectField){ //check for whichever field allows selection
            row.toggleSelect(); //toggle selected state
        }
    },
});

在几周内发布的4.1版本中,将具有重新生成行的功能,因此将再次执行选择检查。