【问题标题】:How to format hours in grouping summary result in igGrid 2013.2?如何格式化 igGrid 2013.2 中分组汇总结果的小时数?
【发布时间】:2015-09-14 10:54:54
【问题描述】:

我有分组网格,我按一列分组,然后在另一列上进行小时汇总:

name: "GroupBy",
type: "local",
columnSettings: [
    {
        columnKey: "codeName",
        isGroupBy: true,
    },
    {
        columnKey: "hour",
        isGroupBy: false,
        summaries: [
            {
                summaryFunction: "custom",
                text: "Hours :",
                customSummary: function (valuesList) {
                    var sumOfHours = 0.0;
                    var sumOfMinutes = 0.0;
                    for (i = 0; i < valuesList.length; i++) {
                        var split = valuesList[i].split(':');
                        sumOfHours += parseInt(split[0]);
                        sumOfMinutes += parseInt(split[1]);
                    }

                    sumOfHours += parseInt(sumOfMinutes / 60);
                    var minutesLeft = sumOfMinutes % 60;
                    return sumOfHours + ":" + minutesLeft;
                }
            }
        ]
    }
],
summarySettings: {
    //summaryFormat: "HH:MM" // What should I write here to get proper formatiing?
}

现在的问题是,每当我得到:

  1. 36 小时显示 360.00 而不是 36:00
  2. 165 小时显示 1,650.00 而不是 165:00
  3. 8 小时 15 分钟显示 815.00 insted of 8:15
  4. 34 小时 15 分钟显示为 3,415.00 而不是 34:15

我在文档中的任何地方都找不到如何正确显示它。有人可以帮忙吗?

【问题讨论】:

    标签: infragistics ignite-ui iggrid


    【解决方案1】:

    igGridGroupBy 摘要函数应该总是返回数字类型,这不是你的情况。这就是你看到这种行为的原因。 您可以做的是覆盖 $.ig.formatter 函数(在初始化 igGrid 之前),该函数在 Ignite UI 和 GroupBy 功能中用于格式化值并注入您的逻辑。 这是一个例子:

    var origFormatter = $.ig.formatter;
    $.ig.formatter = function (val, type, format) {
        if (format === "myFormat") {
            return val;
        }
        return origFormatter.apply(arguments);
    }
    // Initialize igGrid here
    

    然后设置 summarySettings.summaryFormat = "myFormat" 以便您的逻辑启动。

    【讨论】:

    • 有没有更优雅的方式来覆盖特定的 igGrid 而不是所有网格?
    • $.ig.formatter 是一个在所有需要全球化支持的 Ignite UI 小部件之间共享的全局函数,因此您不能为每个 igGrid(或其他小部件)实例更改它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多