2017-12-18 223 views
-1

我有我的jqgrid的代碼。我能夠實現cellEdit。但是我想在這裏實現的是編輯整個row。由於cellEdit需要很長時間,因此需要單擊要啓用編輯的單元。如何在jqgrid中內聯編輯行?

function fnGridCorrected(StartDate, EndDate) { 
var url1 = '../Request/_getCorrection?startDate=' + StartDate + '&endDate=' + EndDate; 
$("#CorrectedList").jqGrid({ 
    url: url1, 
    datatype: 'json', 
    mtype: 'POST', 
    colNames: ['rowId', 'Id', 'Date', 'Time In1', 'Time Out1', 'Time In2', 'Time Out2', 'Time In1', 'Time Out1', 'Time In2', 'Time Out2', 'Remarks', 'Status', 'Approved By', 'Date Request', 'Date Approved'], 
    colModel: [ 
       { name: 'rowId', index: 'rowId', hidden: true, width: 20 }, 
       { name: 'CorrectedId', index: 'CorrectedId', hidden: true, editable: true, sortable: false, width: 20, align: 'center' }, 
       { name: 'Date', index: 'Date', hidden: false, editable: true, sortable: false, width: 85, align: 'center' }, 
       { name: 'In1', index: 'In1', hidden: false, editable: true, sortable: false, width: 80, align: 'center' }, 
       { name: 'Out1', index: 'Out1', hidden: false, editable: true, sortable: false, width: 80, align: 'center' }, 
       { name: 'In2', index: 'In2', hidden: false, editable: true, sortable: false, width: 80, align: 'center' }, 
       { name: 'Out2', index: 'Out2', editable: true, hidde: false, width: 80, align: 'center' }, 

       { name: 'CorrectedIn1', index: 'CorrectedIn1', hidden: false, editable: true, sortable: false, width: 80, align: 'center' }, 
       { name: 'CorrectedOut1', index: 'CorrectedOut1', hidden: false, editable: true, sortable: false, width: 80, align: 'center' }, 
       { name: 'CorrectedIn2', index: 'CorrectedIn2', hidden: false, editable: true, sortable: false, width: 80, align: 'center' }, 
       { name: 'CorrectedOut2', index: 'CorrectedOut2', editable: true, hidde: false, width: 80, align: 'center' }, 

       { name: 'remarks', index: 'remarks', editable: true, hidde: false, width: 85, align: 'center' }, 
       { name: 'Status', index: 'Status', editable: true, hidde: false, width: 85, align: 'center' }, 
       { name: 'ApprovedBy', index: 'ApprovedBy', editable: true, hidde: false, width: 95, align: 'center' }, 
       { name: 'ReqDate', index: 'ReqDate', editable: true, hidde: false, width: 85, align: 'center' }, 
       { name: 'ApprovedDate', index: 'ApprovedDate', editable: true, hidde: false, width: 90, align: 'center' } 
       ], 
    pager: $('#CorrectedPager'), 
    rowNum: 5, 
    rowList: [5, 10, 20], 
    sortname: 'Id', 
    sortorder: 'asc', 
    viewrecords: true, 
    autowidth: true, 
    shrinkToFit: false, 
    imgpath: '/Content/themes/redmond/images/', 
    height: '100%', 
    cellEdit: true, 
    cellsubmit: 'clientArray', 
    //editurl: 'clientArray', 
    onSelectRow: function (id) { 
     var objRowData = jQuery("#CorrectedList").getRowData(id); 

    }, 
    loadComplete: function() { 
     var ids = jQuery("#CorrectedList").getDataIDs(); 
     var len = ids.length, 
      newLine; 
     if (len < 5) { 
      AddNewRowToGrid(len, "#CorrectedList"); 
     } 
    } 
}); 


$("#CorrectedList").jqGrid('setGroupHeaders', { 
    useColSpanStyle: true, 
    groupHeaders: [ 
        { startColumnName: 'Date', numberOfColumns: 1, titleText: '' }, 
        { startColumnName: 'In1', numberOfColumns: 4, titleText: 'Actual Time' }, 
        { startColumnName: 'CorrectedIn1', numberOfColumns: 4, titleText: 'Correction', columnWidth: 500 } 
        ] 
}); 

}

我也試試這個兩cellsubmit: 'clientArray'rowEdit: true但它不會讓行。我在內聯行中做錯了嗎? BTW我正在使用jqgrid 4.4.4

回答

0

我終於找到了我的問題的答案。在onSelectrow函數中,我只需添加代碼jQuery('#myGrid').editRow(id, true);以使整行可以編輯。