我在Kendo网格中有一个动态生成列的列表。我在这里使用colsList就是一个例子。
var colsList = ["A", "B", "C"];
for (var j = 0; j < colsList.length; j++){
var columnSchema = {
"field": colsList [j],
template: function (dataItem) {
return getTemplate(dataItem, colsList [j]);
}
};
}
var getTemplate = function (dataItem, field) {
// return tempate format;
};
当调用getTemplate时,第二个参数ie字段总是在这里作为colsList的最后一项传递。 我需要准备一个列模板,该模板将提供有关与其关联的列字段的信息。 怎么能实现这一目标?试图通过多种方式做到这一点,但没有成功。
我是kendo.js的新手,对模板不熟悉。
还有其他方法来准备模板,这将有助于我实现我想要的目标。 dataItem和相关的col字段是在刷新网格数据源时准备模板的两个主要要求,需要在模板中检查一些条件,并相应地填充列数据。
答案 0 :(得分:0)
我终于通过使用jQuery的每个函数找到了获取列字段的方法,而不是使用for循环,如下所示:
var colsList = ["A", "B", "C"];
$.each(colsList, function (index, item) {
var columnSchema = {
"field": item,
template: function (dataItem) {
return getTemplate(dataItem, item);
}
};
});
var getTemplate = function (dataItem, item) {
/* item gives the column field for which template will be set*/
// return tempate format;
};
但是我仍然不知道为什么它在for循环的情况下表现不同并且在模板中将字段返回为未定义。