在kendo网格列中设置模板时如何查找列字段名称

时间:2016-12-08 15:07:16

标签: kendo-grid

我在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字段是在刷新网格数据源时准备模板的两个主要要求,需要在模板中检查一些条件,并相应地填充列数据。

1 个答案:

答案 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循环的情况下表现不同并且在模板中将字段返回为未定义。