基于jQgrid中给定条件的行之间的条件操作?

时间:2017-06-07 15:16:17

标签: jquery jqgrid

我需要在jqGrid 4.4.1网格中根据给定条件在操作之间进行切换。请看下面的图片:

enter image description here

它应该如何运作:

  • 如果类型为api_response,那么actions应该只是放大镜图标。
  • 如果Type为api_request,那么actions应该是第二个图标,但放大镜不应该在那里。

这就是我创建按钮的方式:

$.fn.fmatter.btnFormatter = function (cellValue, options, rowData, addOrEdit) {
    return '<a href="#">' +
        '<img class="api_button" data-id="' + options.rowId + '" src="/images/icons/16x16/document_view.png" alt="Show API Response Data" title="Show API Response Data" />' +
        '</a>' +
        '<a href="/sf/api-logs/error/' + options.rowId + '">' +
        '<img class="error_button" data-id="' + options.rowId + '" src="/images/icons/16x16/document_warning.png" alt="Show Errors" title="Show Errors" />' +
        '</a>';
};

$(function () {
    $("#grid").jqGrid({
        url: '/api-logs',
        datatype: "json",
        colNames: $('#colnames').data('values'),
        colModel: $('#colmodel').data('values'),
        width: 980,
        height: 300,
        pager: "#gridpager",
        toppager: true,
        hoverrows: true,
        shrinkToFit: true,
        autowidth: true,
        rownumbers: true,
        viewrecords: true,
        rowList: [10, 20, 50, 100],
        data: [],
        rownumWidth: 50,
        gridview: true,
        sortable: true,
        rowattr: function (item) {
            if (item.type === "api_response") {
                return {"class": "api_response"};
            } else if (item.type === 'api_request') {
                return {"class": "api_request"};
            }
        },
        jsonReader: {
            root: 'rows',
            page: 'page',
            total: 'total',
            records: 'records',
            cell: '',
            repeatitems: false
        }
    });
});

当然,第一列已应用btnFormatter

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以修改用于测试$.fn.fmatter.btnFormatter的{​​{1}}代码,方法与rowData.type回调中的代码相同。

无论如何,我都会严格建议您测试现有代码是否适用于当前版本的免费jqGrid(版本4.14.1)。您可以修改3行HTML代码并从CDN加载CSS和JS文件(请参阅the wiki article)。 jqGrid的4.4.1版本。使用这种旧的和不受支持的版本真的很危险。