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