0

我有一个表,其中使用基于另一列(布尔值)的选择资格,该资格列是可编辑的(tickcross)。这是这样设置的,如果此列值为“真”,则该行是可选的,当数据加载到制表器中时,它工作得很好。但是,当单击以切换刻度交叉时,列值会切换,但随后行确实反映了选择资格已相应更改的可选择性。如何确保在列值更改后,该行可以自动选择/不可选择?或者有没有我可以使用的解决方法?我尝试在我的方法中调用 redraw 方法,该方法在更改 tickcross 列值后不久切换 tickcross,但这不起作用。有任何想法吗?

4

1 回答 1

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 版中,将能够重新生成行,因此将再次执行选择检查。

于 2018-10-22T18:41:39.813 回答