关于我的previous question我有另一个问题:有没有办法在Webix中禁用数据表复选框?
目前,我找到了blockEvent()
API,但它只允许我恢复onCheck事件中的值。它完全破坏了masterCheckbox的工作:
on:{
onCheck:function(rowId, colId, value){
if(colId == "ch1")
this.blockEvent();
var item = this.getItem(rowId);
item.ch1 = item.ch1?0:1;
this.updateItem(rowId, item);
this.unblockEvent();
}
}
以下是展示此问题的snippet。
还有其他方法吗?任何想法都表示赞赏。
答案 0 :(得分:0)
您可以分别使用禁用/启用功能而不是blockEvent / unblockEvent。
<强> [更新] 强> 根据对您的问题的理解,我已经为复选框实现了自定义类型,这将禁用除masterCheckbox之外的所有复选框。如果您单击masterCheckbox然后它可以正常工作,否则如果您尝试编辑特定复选框,则它们会被禁用。请参阅以下代码“type”:
type:{
checkbox:function(obj, common, value, config){
var checked = (value == config.checkValue) ? 'checked="true"' : '';
return "<input class='webix_table_checkbox' type='checkbox' "+checked+""+(obj.id>0?"disabled":"")+">";
}
}
您可以在此处查看代码段:http://webix.com/snippet/9d99ed02