c# - Kendo 网格、虚拟滚动、页面大小和聚合

标签 c# javascript .net kendo-ui

当我为具有用页面大小定义的数据源的剑道网格打开虚拟滚动时,当我滚动并且发生虚拟分页时,它会更改聚合页脚模板中的总计以匹配页面大小。最初创建网格时,这些值是正确的。有没有办法锁定这些聚合值,以便它们在虚拟分页发生时不发生变化?

最佳答案

使用 MVC

请尝试使用以下链接。 http://developerom.blogspot.in/2012/12/how-to-use-aggregate-function-in-kendo.html

如有任何疑问,请告诉我。

使用 Jquery

<div id="grid">
</div>

<script>


function onDataBound(arg) {

    var UnitPrice = 0; // sum
    var UnitsOnOrder = 0; //average
    var total = arg.sender.dataSource._data.length; // total

    for (var i = 0; i < total; i++) {
        UnitPrice += parseInt(arg.sender.dataSource._data[i].UnitPrice);
        UnitsOnOrder += parseInt(arg.sender.dataSource._data[i].UnitsOnOrder);
    }

    $("#spanProductNamefooter").html('Total count: '+total);
    $("#spanUnitPricefooter").html('Sum: '+UnitPrice);
    $("#spanUnitsOnOrderfooter").html('average: '+parseInt(UnitsOnOrder/total));
}

function onDataBinding(arg) {

}

$(document).ready(function () {
    $("#grid").kendoGrid({
        dataSource: {
            type: "odata",
            transport: {
                read: "http://demos.kendoui.com/service/Northwind.svc/Products",
                dataType: "jsonp",
            },
            schema: {
                model: {
                    fields: {
                        UnitsInStock: { type: "number" },
                        ProductName: { type: "string" },
                        UnitPrice: { type: "number" },
                        UnitsOnOrder: { type: "number" },
                        UnitsInStock: { type: "number" }
                    }
                }
            },
            pageSize: 7,
            aggregate: [{ field: "ProductName", aggregate: "count" },
                                      { field: "UnitPrice", aggregate: "sum" },
                                      { field: "UnitsOnOrder", aggregate: "average" },
                                      { field: "UnitsInStock", aggregate: "min" },
                                      { field: "UnitsInStock", aggregate: "max"}]
        },
        sortable: true,
        height: 430,
        dataBound: onDataBound,
        dataBinding: onDataBinding,
        scrollable: {
            virtual: true
        },
        columns: [
                        { field: "ProductName", title: "Product Name", footerTemplate: "<span id='spanProductNamefooter'></span>"},
                        { field: "UnitPrice", title: "Unit Price",footerTemplate: "<span id='spanUnitPricefooter'></span>" },
                        { field: "UnitsOnOrder", title: "Units On Order", footerTemplate: "<span id='spanUnitsOnOrderfooter'></span>"},
                        { field: "UnitsInStock", title: "Units In Stock"}
                    ]
    });
});
</script>

如有任何疑问,请告诉我。

关于c# - Kendo 网格、虚拟滚动、页面大小和聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17298064/

相关文章:

javascript - 如何将组件从数组传递到路由react-router-dom( typescript )

c# - MEF导入解析

c# - 从 javascript 或代码隐藏获取资源对象

c# - 将绑定(bind)重定向配置应用于 pythonnet

c# - 如何解决需要完全控制/所有者权限的 LocalFileSettingsProvider

c# - ReceiveFromAsync 示例

javascript - Chart.js 两个 Y 轴,一个为负值

javascript - 如何创建带有未定义参数的 JavaScript 函数?

c# - 编码为 ASCII 和 UTF8 的字符串长度不同!

.net - 如何让窗体看起来更漂亮