2012-02-10 22 views
0

セルをダブルクリックで編集できないようにするにはどうすればいいですか? セルはワンクリックで編集可能です。私が代わりにcelleditingの行編集を使用することをお勧めダブルクリックでセル編集可能オプションを無効にする方法

jQuery("#tree").jqGrid({ 
       url:'json/jsonSamplePots.json', 
       datatype: "json", 
       mtype:'GET', 
       colNames: ["Task id", "Task no.", "Task name", "Priority", "Start", "End", "Effort(hrs)", "Actual start", "Actual end", "Actual effort(hrs)", "Baseline start", "Baseline end", "Baseline effort(hrs)", "Task type", "Link", "Resources", "Tag"], 
       colModel: [ 
        {name:'id',width: 30, editable:false, align:"right",sortable:false, hidden: true, key: true}, 
        {name:'no',width:80, editable:false, align:"left", sortable:true, sorttype:"int"}, 
        {name:'name', width:150, editable:true, sortable:true, sorttype:"text"}, 
        {name:'priority', width:80, editable:true, align:"right", sortable:true, sorttype:"int"}, 
        {name:'sDate', width:80, editable:true, align:"right", sortable:true, sorttype:"date"}, 
        {name:'eDate', width:80, editable:true, align:"right", sortable:true, sorttype:"date"}, 
        {name:'effort', width:80, editable:true, align:"right", sortable:true, sorttype:"int"}, 
        {name:'asDate', width:80, editable:true, align:"right", sortable:true, sorttype:"date"}, 
        {name:'aeDate', width:80, editable:true, align:"right", sortable:true, sorttype:"date"}, 
        {name:'aeffort', width:80, editable:true, align:"right", sortable:true, sorttype:"int"}, 
        {name:'bsDate', width:80, editable:true, align:"right", sortable:true, sorttype:"date"}, 
        {name:'beDate', width:80, editable:true, align:"right", sortable:true, sorttype:"date"}, 
        {name:'beffort', width:80, editable:true, align:"right", sortable:true, sorttype:"int"}, 
        {name:'type', width:120, editable:true, align:"left", sortable:true, sorttype:"text"}, 
        {name:'link', width:80, editable:true, align:"left", sortable:true, sorttype:"text"}, 
        {name:'resources', width:300, editable:true, align:"left", sortable:true, sorttype:"int"}, 
        {name:'ref', width:80, editable:true, align:"right", sortable:true, sorttype:"int"}, 
       ], 
       rowNum:10, 
       rowList:[10,20,30], 
       pager: '#pcolch', 
       sortname: 'no', 
       treeGridModel:'adjacency', 
       autowidth:false, 
       sortorder: 'desc', 
       caption:"<a href="#">Task</a> 
       toolbar:[true,"top"], 
       treeGrid: true, 
       cellEdit: true, 
       sortable: true, 
       shrinkToFit :true, 
       //viewrecords: true, 
       height:'auto', 
       ExpandColumn:'name', 
       cellsubmit : 'clientArray', 

答えて

1

私は、セルの編集を行っているが、次のコードを使用して有効にしてください。私はしばらくそれを苦労していますが、セルの編集は行編集と同じくらい柔軟ではありません。行編集機能を使用すると、セル編集と同じ目標に達することができます。

onCellSelectイベントを使用して 'セル編集'(行編集)を有効にし、イベントパラメータを使用してイベントがダブルクリックイベントであるかどうかを判断できます。私は自分のプロジェクトで似たような使用:

'onCellSelect' : function(rowId, iCol, cellcontent, e) { 
    if(rowId && rowId !== lastsel && e.type != 'onDblClick') { 
    $('#resultsgrid').jqGrid(
     'saveRow', 
     lastsel, 
     null, 
     'clientArray', 
     null, 
     saveEditRow 
    ); 

    $('#resultsgrid').jqGrid('restoreRow', lastsel); 
    $('#resultsgrid').jqGrid('editRow', rowId, false); 

    lastsel = rowId; 
    } 
} 

上記の注意事項は一例であり、あなたがproberlyあなた自身のプロジェクトでそれを使用するためにそれをコピー/ペーストすることができません。それがあなたのために働く場合は、それをテストする必要があります。

oncellSelectはセル編集モードでは機能しません。

希望すると助かります!

関連する問題