gpt4 book ai didi

javascript - 自动生成剑道网格列时如何自定义列模板?

转载 作者:行者123 更新时间:2023-11-28 04:33:28 25 4
gpt4 key购买 nike

我使用 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') #"
}]

另外,是否可以使网格中的数据可编辑?

最佳答案

我在这里发布我的解决方案,也许它可以帮助将来的人。

    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
});
}
}

谢谢桑德曼的提示!

关于javascript - 自动生成剑道网格列时如何自定义列模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430999/

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