javascript - 如何在剑道网格 UI 中显示总和 groupFooterTemplate

标签 javascript knockout.js kendo-ui kendo-grid

我有数据并与组一起显示在剑道网格中。每个组(发票号 - VGBEL)都有一个 groupFooterTemplate,但数量 (LFIMG) 列始终为 0,00。我需要每个页脚的数量总和。我的错误在哪里?我在互联网上搜索但没有找到解决方案。我知道有一个小错误,但我没有发现它。

这是我的 JS 代码。

var kendoResource = getKendoResourceOptions();

            options.columns[0].groupFooterTemplate = 'Sipariş Toplamı:'; 

            options.columns[8].groupFooterTemplate = '#: data.LFIMG ? kendo.format("{0:C2}",data.LFIMG.sum): 0,00 #';  


            $("#grid").kendoGrid({
                        toolbar: [{ name: "excel", text: kendoResource.toolbar.messages.excel }],
                        excel: {
                            fileName: "DeliveryList.xlsx",
                            allPages: true,
                            filterable: true
                        },

                        groupable: kendoResource.groupable,
                        scrollable: true,
                        sortable: true,
                        pageable: kendoResource.pageable,
                        columns: options.columns
                    });


        self.filterClick = function () {
            showLoading();
            mbisPost('Reports.Summary', "/api/TermoTeknikReportApi/DeliveryList", ko.toJS(self.filters), function (result) {
                if (result && result.length > 0) {                
                    self.showNoDataToDisplay(false);
                    
                var dataSource = new kendo.data.DataSource({
                                  data: result,                      
                                  pageSize: 100,
                                  group: {
                                        field: "VGBEL",
                                    },
                                  aggregate: [
                                      { field: "LFIMG", aggregate: "sum" }
                                    ]
                                });

                var grid = $("#grid").data("kendoGrid");
                grid.setDataSource(dataSource); 

                    // element for which the tooltip is shown
                    grid.thead.kendoTooltip({
                        filter: "th",
                        content: function (e) {
                            var target = e.target; 
                            return $(target).text();
                        }
                    });
        
                }
                else {
                    self.showNoDataToDisplay(true);
                }

            }).error(function () { hideLoading(); }).done(function () { hideLoading(); });
        }

网页截图

enter image description here

最佳答案

我更改了数据源代码。将“聚合”属性放入组中

var dataSource = new kendo.data.DataSource({
                                  data: result,                      
                                  pageSize: 100,
                                  group: {
                                        field: "VGBEL",
                                        aggregates: [ { field: "LFIMG", aggregate: "sum" },{ field: "LFIMG_M", aggregate: "sum" }]  // this line
                                    },
                                  aggregate: [
                                      { field: "LFIMG", aggregate: "sum" },{ field: "LFIMG_M", aggregate: "sum" } 
                                    ]
                                });

关于javascript - 如何在剑道网格 UI 中显示总和 groupFooterTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51150273/

相关文章:

javascript - 从事件监听器返回一个变量

javascript - 如何将具有相同类和名称的多个输入字段传递给ajax请求并根据回复更改相应的字段?

javascript - 在剑道网格中从 ajax 呈现数据时如何显示微调器

javascript - 在 Jest 中模拟 execSync

javascript - Knockout Mapping 重新渲染一切

javascript - knockout - foreach : Change button color on click

javascript - Knockout JS 绑定(bind)不使用简单 View 模型输出值

javascript - 当分配计算属性时,hasfocus 绑定(bind)不起作用

jquery - Kendo Grid 在移动到下一个单元格后不保存值

javascript - 从剑道网格中获取选中的行