gpt4 book ai didi

asp.net-mvc - 将聚合函数与 Kendo UI MVC Grid 包装器一起使用

转载 作者:行者123 更新时间:2023-12-01 08:35:07 25 4
gpt4 key购买 nike

规范

剑道:2012.3.1114

.Net:4.5

MVC:4.0

问题

我正在使用 DataTable 作为模型绑定(bind)我的网格,并且我需要聚合值。如果我使用下面的代码片段作为我的基础(取自 Kendo UI 代码库),似乎无法设置聚合函数。

@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns => {
foreach (System.Data.DataColumn column in Model.Columns)
{
columns.Bound(column.DataType, column.ColumnName);
}
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Groupable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Read", "Home"))
)
)

在 Telerik MVC 控件的日子里,我可以设置聚合函数,您可以在添加绑定(bind)列的同时设置聚合,但在已向下移动到 DataSource 内部的 Kendo UI 包装器中。

Telerik 网格:

columns.Bound("ColumnName").Aggregate(aggregates => aggregates.Count().Min().Max())

如果我尝试在数据源中设置聚合,我会得到一个可爱的异常“'count' is undefined”,这有点模糊。

if (column.ColumnName == "ProductID")
{
columns
.Bound(column.DataType, column.ColumnName)
.ClientFooterTemplate("Count: #=count#");
}
...
.Aggregates(aggregates =>
{
aggregates.Add(a => "ProductID").Count();
})

有什么办法可以解决聚合问题?

最佳答案

虽然这不能解决在数据网格上执行求和函数的问题,但这个答案是由 Kendo UI/Telerik 支持团队提供的,并且确实解决了上面关于计数函数的问题:

@(Html.Kendo().Grid<dynamic>()
.Name("Grid")
.Columns(columns =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{

var boundColumn = columns.Bound(column.ColumnName);
if (column.ColumnName == "ProductID")
{
boundColumn.ClientFooterTemplate("#= data.ProductID !== undefined ? ProductID.count : ''#");
}
}
})
.Pageable()
.Sortable()
.AutoBind(false)
.Scrollable()
.Filterable()
.Groupable()
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{

model.Field(column.ColumnName, column.DataType);
}
})
.Read(read => read.Action("Read", "Home"))
)
)

<script>
$(document).ready(function () {
var grid = $("#Grid").data("kendoGrid");
grid.dataSource.aggregate(
[
{
field: "ProductID",
aggregate: "count"
}
]);
});
</script>

关于asp.net-mvc - 将聚合函数与 Kendo UI MVC Grid 包装器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14529758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com