条件模板剑道ui
Posted
技术标签:
【中文标题】条件模板剑道ui【英文标题】:conditional template kendo ui 【发布时间】:2015-02-26 15:54:18 【问题描述】:仅当满足特定条件(例如,该行上的字段具有特定值)时,是否可以在 Kendo UI 网格中使用行模板?如果不满足该条件,则不应渲染模板,而应正常渲染行。
我不想在模板本身中指定条件,因为除非我弄错了,否则如果不满足条件,我还必须在模板定义中包含“默认”html。
这是我试图实现的一个示例,但它不起作用。为简洁起见,我省略了与我的问题无关的其他网格属性:
$("#divGrid").kendoGrid(
rowTemplate: function (data)
if (condition) kendo.template($("#myRowTemplate").html(data));
// else render row without the template, but how?
);
【问题讨论】:
【参考方案1】:首先,kendo.template
返回一个函数,它需要被调用(以模板数据作为参数)才能返回 HTML 代码。因此,要使您的示例正常工作,需要进行如下修改:
$("#divGrid").kendoGrid(
rowTemplate: function (data)
if (condition)
return kendo.template($("#myRowTemplate").html())(data);
// else render row without the template, but how?
);
现在,不幸的是,由于您已经指定了 rowTemplate
函数,因此无法“正常渲染行”。您只能指定需要在 else 条件下显示的模板(或字符串):
$("#divGrid").kendoGrid(
rowTemplate: function (data)
if (condition)
return kendo.template($("#myRowTemplate").html())(data);
else
return '<tr>Normal row</tr>';
// or return kendo.template($("#myRowTemplate2").html())(data)
// or return "<tr>" + data.name + ": " + data.age + "</tr>"
);
希望这会有所帮助。
【讨论】:
很遗憾,但感谢您的回复并解决了缺少参数的问题。将此标记为正确答案。以上是关于条件模板剑道ui的主要内容,如果未能解决你的问题,请参考以下文章