#kendo-ui #kendo-grid
#кендо-пользовательский интерфейс #кендо-сетка
Вопрос:
У меня есть следующий шаблон клиента в сетке кендо:
.Columns(columns =>
{
columns.Bound(p => p.ID).ClientTemplate("<input id='#=data.ID#' type='checkbox' onclick='chkEntry(this)' />")
и т.д…
Это прекрасно работает. Вместо этого я хочу показывать только эти входные данные if.Код кандидата равен ‘CO1’.
Это одна из моих попыток:
.Columns(columns =>
{
columns.Bound(p => p.ID).ClientTemplate("#if (# #=data.CandidateCode# # == 'CO1') {#<input id='#=data.ID#' type='checkbox' onclick= chkEntry(this)' /> #}#")
Насколько я понимаю, можно использовать хэштег (#) для обозначения произвольного javascript, а также для литералов и значений данных. Нахожусь ли я здесь на правильном пути? Независимо от того, как я пробую этот синтаксис, я получаю ошибку «Неперехваченная ошибка: недопустимый шаблон».
Ответ №1:
Да, синтаксис хэша может быть сложным. Как только вы запустите 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)' />"
"#}#")