2014-11-06 48 views
0

我有一个jqGrid,它具有包含“编辑”和“删除”按钮的操作列。要求是当用户单击操作列中的“删除”按钮时。该行未被删除,但被标记为被删除。因此,我的实现是删除“编辑”按钮,并用“未删除”按钮替换“删除”按钮。以下是代码jqGrid:如何动态更改具有格式化程序的单元格的值

jQuery('#grid').jqGrid({ 
    datatype: 'local', 
    colNames:[ 
     'action', 
      ... other columns 
    ], 
    colModel:[ 
     { name:'action', formatter:actionLink, align:'center', sortable:false, width:150}, 
     ... other columns 
    ], 
    height: 'auto', 
    width: 935 
}); 

function actionLink(cellvalue, options, rowObject) { 
    var editImg = '<img width="16" height="16" border="0" alt="Edit" src="${contextPath}/images/edit.png">'; 
    var deleteImg = '<img width="16" height="16" border="0" alt="Delete" src="${contextPath}/images/delete.png">'; 
    var editLink = '<a href="javascript:void(0)" onclick="edit(' + options.rowId + ');">' + editImg + '</a>'; 
    var deleteLink = '<a href="javascript:void(0)" onclick="delete(' + options.rowId + ');">' + deleteImg + '</a>'; 
    return editLink + ' ' + deleteLink; 
} 

function delete(rowId) { 
    var selectedObj = jQuery('#rid').jqGrid('getRowData', rowId); 
    var unDeleteImg = '<img width="16" height="16" border="0" src="${contextPath}/images/arrow_undo.png" />'; 
    selectedObj.action = '<a href="javascript:void(0)" onclick="unDelete(' + rowId + ');">' + unDeleteImg + '</a>'; 
    jQuery('#grid').jqGrid('setRowData', rowId, selectedObj); 
} 

动作栏仍然显示“编辑”和“删除”按钮,而不仅仅是“撤消”按钮。我做错了什么?格式化函数actionLink的问题吗?

回答

0

您可以访问的jqGrid行类似下面的代码

for (var i = 0; i < gridData.length; i++) { 
      var row = $("#grdGridView").jqGrid('getRowData', gridData[i]); 
      var item = gridData[i]["chkSelect"]; 
      jQuery("#grdGridView").jqGrid('setCell', i + 1, 2, '', { color: 'black' }); 
      if ($(item).prop("checked") == true) { 
       var o = {}; 

       o.GridViewkey = gridData[i]["GridViewkey"]; 
       o.GridViewDesc = gridData[i]["GridViewDesc"]; 
       o.LocationStatus = gridData[i]["LocationStatus"]; 
       o.EffectiveDate = $(gridData[i]["EffectiveDate"]).prop("value"); 
       o.InactivationDate = $(gridData[i]["InactivationDate"]).prop("value"); 
       if (!validatedt(o.EffectiveDate) && o.EffectiveDate != "" && !validatedt(o.InactivationDate) && o.InactivationDate != "") { 
        msg = msg + "[" + o.GridViewDesc + "]: Date is invalid. <br/>"; 
        jQuery("#grdGridView").jqGrid('setCell', i + 1, 2, '', { color: 'red' }); 
       } 
       else if (!validatedt(o.EffectiveDate) && o.EffectiveDate != "") { 
        msg = msg + "[" + o.GridViewDesc + " Effective Date]: Date is invalid. <br/>"; 
        jQuery("#grdGridView").jqGrid('setCell', i + 1, 2, '', { color: 'red' }); 
       } 
       else if (!validatedt(o.InactivationDate) && o.InactivationDate != "") { 
        msg = msg + "[" + o.GridViewDesc + " Term Date]: Date is invalid. <br/>"; 
        jQuery("#grdGridView").jqGrid('setCell', i + 1, 2, '', { color: 'red' }); 
       } 
       o.rid = i + 1; 

       params[i] = o; 
      } 
     } 
相关问题