我使用javascript:
将数据源分配到Kendo网格中 var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "@Url.Action("GetProductList", "Home")",
type: "POST"
}
}
});
var grid = $("#gridHardwares").kendoGrid({
dataSource: dataSource,
height: 600,
sortable: true,
groupable: true,
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
resizable: true
}).data("kendoGrid");
请注意,数据源 - 列是动态生成的(它将每年扩展)。
因此,我找不到现在自定义列的方法。 我可以在这里做什么来自定义它,添加其他复选框列,编辑标题,还设置groupFooterTemplate?
以前,这些列是固定的,我可以轻松自定义:
columns: [
{
template: "<input type='checkbox' class='checkbox' />",
width: 20
}, {
field: "PRODUCT_NAME",
title: "Product Name",
width: 200
}, {
field: "PRICE2017",
title: "Price 2017",
width: 200,
aggregates: ["sum", "average"],
groupFooterTemplate: "Sum: #= kendo.toString(sum, '0.00') # || Average: #= kendo.toString(average, '0.00') #"
}]
此外,是否可以在网格中编辑数据?
请告诉我,如果使用javascript不是一个好主意:( 任何建议或想法都非常感谢。谢谢你提前。
答案 0 :(得分:0)
我在这里发布我的解决方案,也许它可以在将来帮助某人。
var customColumns = [{
template: "<input type='checkbox' class='checkbox' />",
width: 20
}];
然后自定义您自己的标题:var customHeaders = []
for (var i = 0; i < customHeaders.length; i++) {
if (i > 4) // after Name, Description, Region etc..
{
if (i == 5) // start with the first price column
{
customColumns.push({
title : customHeaders[i],
field: headers[i],
width: 150,
template:
"# if(" + headers[i] + " != null) {# " +
"#= kendo.toString(" + headers[i] + ", 'n') #" +
"# } else { #" +
"" +
"#} # ",
aggregates: ["sum", "average"],
groupFooterTemplate: "Sum: #= kendo.toString(sum, '0.00') # || Average: #= kendo.toString(average, '0.00') #"
});
}
else // compare price with previous year
{
customColumns.push({
title : customHeaders[i],
field: headers[i],
width: 150,
template:
"# if(" + headers[i] + " != null) {# " +
"#= calculatePercentage(" + headers[i-1] + ", " + headers[i] + ") #" +
"# } else { #" +
"" +
"#} # ",
aggregates: ["sum", "average"],
groupFooterTemplate: "Sum: #= kendo.toString(sum, '0.00') # || Average: #= kendo.toString(average, '0.00') #"
});
}
}
else
{
customColumns.push({
title : customHeaders[i], // customized header
field: headers[i] // original header
});
}
}
谢谢Sandman的提示!