仕様
剣道:2012.3.1114
.ネット: 4.5
MVC: 4.0
問題
モデルとして DataTable を使用してグリッドをバインドしていますが、集計値が必要です。以下のスニペットをベースとして (Kendo UI Code Library から取得) 使用すると、集計関数を設定する方法がないように見えます。
@(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 コントロールの時代に戻ると、バインドされた列を追加するときに集計関数を設定できましたが、DataSource 内に移動された Kendo UI ラッパーで集計を設定できました。
テレリック グリッド:
columns.Bound("ColumnName").Aggregate(aggregates => aggregates.Count().Min().Max())
DataSource で集計を設定しようとすると、「'count' is undefined」という素敵な例外が発生しますが、これは少しあいまいです。
if (column.ColumnName == "ProductID")
{
columns
.Bound(column.DataType, column.ColumnName)
.ClientFooterTemplate("Count: #=count#");
}
...
.Aggregates(aggregates =>
{
aggregates.Add(a => "ProductID").Count();
})
集計の問題を回避する方法はありますか?