Kendo 网格 - 条件客户端模板
Kendo Grid - Conditional ClientTemplate
我在 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,以及文字和数据值。我走在正确的轨道上吗?无论我如何尝试这种语法,我都会收到 'Uncaught Error: Invalid template' 错误。
是的,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)' />" +
"#}#")
我在 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,以及文字和数据值。我走在正确的轨道上吗?无论我如何尝试这种语法,我都会收到 'Uncaught Error: Invalid template' 错误。
是的,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)' />" +
"#}#")