Kendo网格-条件ClientTemplate

时间:2019-04-02 17:22:38

标签: kendo-ui kendo-grid

我在Kendo网格中具有以下客户端模板:

.Columns(columns =>
{
    columns.Bound(p => p.ID).ClientTemplate("<input id='#=data.ID#' type='checkbox' onclick='chkEntry(this)' />")

等...

那很好。相反,我想仅在data.CandidateCode等于'CO1'时显示该输入。

这是我的尝试之一:

.Columns(columns =>
{
    columns.Bound(p => p.ID).ClientTemplate("#if (# #=data.CandidateCode# # == 'CO1') {#<input id='#=data.ID#' type='checkbox' onclick= chkEntry(this)' /> #}#")

据我了解,人们可以使用井号(#)来表示任意javascript,以及文字和数据值。我在正确的轨道上吗?无论我如何尝试使用此语法,都会出现“未捕获的错误:无效的模板”错误。

1 个答案:

答案 0 :(得分:2)

是的,hash syntax可能很棘手。一旦以'#“开头的js,就不需要进一步转义变量了。当您像<input>这样的标记时,就可以这样做。因此,请在没有注释行的情况下尝试以下操作:

columns.Bound(p => p.ID)
                     // Inside code no need to hashtag CandidateCode
    .ClientTemplate("# if (CandidateCode == 'CO1') { #" +                           " 
                     // Inside markup you do need hashtag
                    "<input id='#=ID#' type='checkbox' onclick='chkEntry(this)' />" +
                    "#}#")