2017-01-09 6 views
0

次の場合、2列のチェックボックスが必要です。jqxGridの2つの異なるセルでチェックボックスをリンクする方法

「A」「はA」がオフの場合 オン/オフすることができ、その後「B」に切り替えられた場合は、「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 
    }] 
}); 

答えて

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 
    } 
}); 
+0

おかげで後のアクションを実行します。とても有難い。 – user2927848

関連する問題