【问题标题】:jqGrid: How to dynamically change the value of cell which has formatterjqGrid:如何动态更改具有格式化程序的单元格的值
【发布时间】:2015-01-03 12:23:48
【问题描述】:

我有一个 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的问题吗?

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    您可以像下面的代码一样访问 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;
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2013-06-17
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多