Kendo ui 调用剑道网格列模板的外部html模板
我已经试了很长一段时间,想让它发挥作用 基本上,我是动态地将列和模板分配给剑道网格。每列可以是任何类型。如果类型是“address”类型,那么我将为该列分配一个html模板,以拆分地址字符串并以一种良好的方式显示 我通过创建可能的列类型及其相应模板的映射来实现这一点。问题在于“地址”映射Kendo ui 调用剑道网格列模板的外部html模板,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我已经试了很长一段时间,想让它发挥作用 基本上,我是动态地将列和模板分配给剑道网格。每列可以是任何类型。如果类型是“address”类型,那么我将为该列分配一个html模板,以拆分地址字符串并以一种良好的方式显示 我通过创建可能的列类型及其相应模板的映射来实现这一点。问题在于“地址”映射 uiTemplateMap["date"] = "#= kendo.toString(kendo.parseDate(" + fieldName + "), 'MM/dd/yyyy') #"; uiTemp
uiTemplateMap["date"] = "#= kendo.toString(kendo.parseDate(" + fieldName + "), 'MM/dd/yyyy') #";
uiTemplateMap["address"] = eval("kendo.template($('\\#address-template').html())");
“地址模板”定义为
<script id="address-template" type="text/x-kendo-template">
# var addr = ${addresses} ; #
# var splitaddr = addr.split(','); #
# for (int i=0; i < splitaddr.length(); i++) { #
<i> #= splitaddr[i] # </i>
# } #
</script>
#var addr=${addresses}#
#var splitaddr=addr.split(',')#
#对于(int i=0;i
我得到一个无效的模板异常。我有两个问题
非常感谢您提供的任何帮助您可以访问
数据[columnName]
中的列值,其中columnName
是字段名称(字符串),或者,由于模板函数使用带块的,只需在columnName
中,您就可以这样定义模板生成器:
function createAddressTemplateFor(columnName) {
return "# var address = data['" + columnName + "']; #" + // or: var address = columnName;
"# var splitaddr = address.split(','); #" +
"# for (var i = 0; i < splitaddr.length; i++) { #" +
"<i> #= splitaddr[i] # </i><br />" +
"# } #";
}
函数createAddressTemplateFor(columnName){
返回“#var address=data['”+columnName+“'];#”+//或:var address=columnName;
#var splitaddr=address.split(',');#+
“#for(var i=0;i ”+
"# } #";
}
()
如果要使用外部模板,可能必须对名称进行硬编码(因为当前列的属性名称未传递给模板),除非您要修改剑道UI源代码。很高兴这有帮助;如果这解决了你的问题,你应该考虑一下。