Kendo变量位于网格的Command部分

时间:2013-03-14 15:59:53

标签: kendo-ui kendo-grid

我注意到在列部分的模板中可以有一些kendo逻辑和变量。

这是我的专栏文章

中的一个例子
  template: "#= myVariable#  #if(myBoolean) {# <img src='/images/myImage.png' /> #}#"

请注意myVariable和myBoolean是网格每一行的变量(字段)。 不幸的是,我在模板的命令部分尝试了相同的操作。我收到以下错误“ReferenceError:myVariable未定义”

有没有办法在命令部分添加变量,就像列一样?

1 个答案:

答案 0 :(得分:0)

据我所知,在columns.command中使用模板甚至没有记录:尽管它有效。你可以做以下事情:

columns   : [
    {
        command: {
            template : "# console.log('this', this); console.log('data', data); # toto"
        }
    },
    ...
]

甚至喜欢:

command: {
    template : function (arg) {
        console.log("this" ,this);
        console.log("arg", arg);
        console.log("data", data);
        return "toto";
    }
}

但是模板返回的内容需要是string,在浏览器的控制台中,您会看到thiswindowarg是对象{{ 1}}和command是包含网格数据的data

虽然您可以包含额外的参数:

array

如果我添加了一个可以通过command: { template : function (arg) { console.log("this" ,this); console.log("arg", arg); console.log("arg.a", arg.a); console.log("data", data); return "toto"; }, a: "extra argument" } 访问的额外a参数,您仍然无法访问当前行arg.a,因为该元素仍未插入。

而不是我所建议的做的是:

data

你不需要把它作为命令,对吗?你为什么需要它作为命令?