我想要2列复选框,其中以下内容为真。
如果' A'然后切换到' B'可以打开/关闭 如果' A'那时候就已经过了' B'也必须关闭
这里有一组示例数据,但我不知道如何添加此功能。这基本上只是数据的前端验证,以防止用户意外地创建“不可能”的数据。场景。我甚至不确定从哪里开始定制所述的复选框。
https://jsfiddle.net/6rc8uraf/11/
var data = [{
name: "Person1",
A: true,
B: true
}, {
name: "Person2",
A: true,
B: false
}, {
name: "Person3",
A: false,
B: false
}];
var source = {
localdata: data,
datafields: [{
name: "name",
type: "string"
}, {
name: "A",
type: "bool"
}, {
name: "B",
type: "bool"
}],
datatype: "array"
};
var adapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid({
width: "100%",
source: adapter,
editable: true,
columnsresize: true,
sortable: true,
filterable: false,
columns: [{
text: "Name",
datafield: "name",
align: 'center',
width: 150,
menu: false
}, {
text: "A",
datafield: "A",
align: 'center',
columntype: 'checkbox',
width: 150,
editable: true,
menu: false
}, {
text: "B",
datafield: "B",
align: 'center',
columntype: 'checkbox',
menu: false,
editable: true
}]
});
答案 0 :(得分:1)
绑定cellendedit
事件以在Programmatic Editing
$('#jqxgrid').on('cellendedit', function (event) {
if (event.args.datafield == 'A' && event.args.value == false) {
$("#jqxgrid").jqxGrid('setcellvalue', event.args.rowindex, 'B', false) //set value to false
$("#jqxgrid").jqxGrid('setcolumnproperty', 'B', 'editable', false)//disable further editing
} else if (event.args.datafield == 'A' && event.args.value == true) {
// $("#jqxgrid").jqxGrid('setcellvalue', event.args.rowindex, 'B', true)
$("#jqxgrid").jqxGrid('setcolumnproperty', 'B', 'editable', true) //enable editing
}
});