2012-02-10 3 views
0

더블 클릭으로 셀을 편집 할 수 없게 만드는 방법은 무엇입니까? 셀을 클릭 한 번으로 편집 할 수 있습니다.더블 클릭시 셀 편집 가능 옵션을 비활성화하는 방법

내가했던 셀 편집 다음 코드를 사용하여 사용 :

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

나는 행 편집 대신 cellediting를 사용하는 것이 좋습니다. 나는 잠시 동안 그것으로 고투하고있다 그러나 세포 편집은 행 편집만큼 유연하지 않다. 행 편집을 사용하면 셀 편집과 동일한 목표에 도달 할 수 있습니다.

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가 작동하지 않습니다.

희망은 당신을 돕는다!

관련 문제