jqGrid的分组GroupText格式和修改(JQGrid Grouping GroupText

2019-06-24 23:07发布

我有一个实现分组但想上,在groupText显示细节展开网格:区域。 理想的情况下,我将能够采取有关分组和显示与组名({0}缺省值),该组行中的数据。

换句话说什么,我想实现的是不仅显示组名,但也包含在JSON进到网格的一些其他数据项的方式。

我的搜索似乎是任何人能够做到这短短的来了,但我希望有人能摆脱拓展此设置,并在格式化提供这方面的访问提供了一些光。

Answer 1:

我觉得你的问题很有趣,但实施并不简单。 在回答我之前一个人如何能在分组汇总行使用自定义的格式显示。

在演示可以看到如何实现分组文本的自定义格式。 该演示显示如下:

实施刚从实施包括自定义格式 ,可用于两个目的:相应的列和分组的文本格式的分组的情况下,由列的内容格式。 该代码是有点棘手,但我希望大家一定可以遵循它。 代码中使用的输入参数的差异来界定格式化是否会被调用到列内容格式化或以分组文本的格式。

这让文本像“(TEST4,TEST7)”代码的一部分是不是在大量的行使用的情况下很有效,但它的作品。

下面是一个通过将典型地与预定使用的“日期”列的格式的代码formatter: 'date' 。 我在代码中的原始日期格式器的一部分调用,但用于分组文字更复杂的代码:

formatter: function (cellval, opts, rowObject, action) {
    var fullOpts = $.extend({}, $.jgrid.formatter.date, opts),
        formattedDate = $.fmatter.util.DateFormat('Y-m-d', cellval, 'd-M-Y', fullOpts),
        groupIdPrefix = opts.gid + "ghead_",
        groupIdPrefixLength = groupIdPrefix.length,
        month = Number(cellval.split('-')[1]), // input format 'Y-m-d'
        names = [], data, i, l, item;

    // test wether opts.rowId start with opts.gid + "ghead_" and integer
    // and rowObject is the array and action is undefined.

    if (opts.rowId.substr(0, groupIdPrefixLength) === groupIdPrefix && typeof action === "undefined") {
        // custom formating of the group header
        // we just simulate some login by testing of the month > 9

        // the next code fragment is not effective, but it can be used
        // in case of not so large number of groups and the local data
        data = $(this).jqGrid("getGridParam", "data");
        for (i = 0, l = data.length; i < l; i++) {
            item = data[i];
            if (item.invdate === cellval) {
                names.push(item.name);
            }
        }

        return (month > 9 ? ('<span class="ui-icon ui-icon-alert" style="float: left;"></span>' +
            '<span style="color:tomato; margin-left: 5px;">') : "<span>") +
            formattedDate + ' (' + names.join() + ')</span>'
    }
    return formattedDate;
}

更新 :演示的固定的版本是在这里 。 它使用$.fn.fmatter ,而不是目前的jqGrid从法去除$.fmatter.util.DateFormat



文章来源: JQGrid Grouping GroupText formatting and modification