Kendo ui 剑道ui网格列模板函数字段名
我想了解一下,模板函数中的字段名是什么:Kendo ui 剑道ui网格列模板函数字段名,kendo-ui,telerik,kendo-grid,kendo-template,Kendo Ui,Telerik,Kendo Grid,Kendo Template,我想了解一下,模板函数中的字段名是什么: { field: "country", template: function(e){ var tmp = ""; var guid = kendo.guid(); $.each( e.country, function( key, value ) { tmp += '<span class="xyz">'
{
field: "country",
template: function(e){
var tmp = "";
var guid = kendo.guid();
$.each( e.country, function( key, value ) {
tmp += '<span class="xyz">' + value.text + '</span>';
});
return tmp;
},
}
{
字段:“国家”,
模板:函数(e){
var tmp=“”;
var guid=kendo.guid();
$。每个(如国家、职能(键、值){
tmp+=''+value.text+'';
});
返回tmp;
},
}
样本:
我在模板中没有字段名“country:函数(e)
。模板中的函数中只有字段数据。
是否有一种方法,如
kendo.guid()
,可以在函数中为示例指定字段名“country”。看看这是否满足您的需要:
{
field: "country",
title: "Country",
template: function(e, field = "country") {
console.log("Field name:", field);
console.log(e[field]);
return e.country.reduce((prev, current) => prev + '<span class="k-button" style="line-height:1.25em; cursor:default;">' + current.text + '</span>', "");
},
}
{
字段:“国家”,
标题:“国家”,
模板:功能(e,field=“country”){
日志(“字段名:”,字段);
console.log(e[field]);
返回e.country.reduce((上一个,当前)=>prev+''+current.text+''”;
},
}
您可以在代码段中看到如何使用此功能的示例
html{字体大小:14px;字体系列:Arial、Helvetica、sans serif;}
没有找到任何数据。是否要添加新项-'#:instance.input.val()#'?
添加新项目
函数getTemplate(e,字段名){
如果(字段名==“国家”){
返回e.country.reduce((上一个,当前)=>prev+''+current.text+''”;
}否则{
返回e[fieldName];
}
}
$(文档).ready(函数(){
风险值数据=[
{
“id”:“wpErpOs_1”,
“name”:“Rolf”,
'country':[{'text':'Schweiz','id':'1'}],
“flag”:false
}, {
“id”:“wpErpOs_2”,
“姓名”:“汉斯”,
“国家”:[
{'text':'Deutschland','id':'2'},
{'text':'Schweiz','id':'1'},
{'text':'Österreich','id':'3'}
],
“flag”:false
}, {
“id”:“wpErpOs_3”,
“名字”:“以斯帖”,
'country':[{'text':'Schweiz','id':'1'}],
“flag”:false
}, {
“id”:“wpErpOs_4”,
“姓名”:“丹妮拉”,
'country':[{'text':'Österreich','id':'3'}],
“flag”:false
}
];
var dataSource=new kendo.data.dataSource({
运输:{
读:功能(e){
e、 成功(数据);
},
更新:职能(e){
e、 成功();
},
销毁:功能(e){
e、 成功();
},
创建:函数(e){
e、 成功();
},
parameterMap:功能(选项、操作){
if(操作!=“读取”&&options.models){
返回{models:kendo.stringify(options.models)};
}
}
},
页面大小:20,
模式:{
型号:{
id:“id”,
字段:{
id:{可编辑:false,可空:true},
名称:{验证:{必需:true}},
国家:{type:“object”},
标志:{type:“boolean”}
}
}
}
});
$(“#网格”).kendoGrid({
数据源:数据源,
工具栏:[“创建”],
栏目:[
{
字段:“名称”,
标题:“姓名”,
模板:函数(e){return getTemplate(e,“name”);}
}, {
字段:“国家”,
标题:“国家”,
模板:函数(e){return getTemplate(e,“country”);}
}, {
字段:“旗帜”,
标题:“国旗”,
编者:wpErpOs_GridBoolean,,
模板:函数(e){return getTemplate(e,“flag”);}
},
],
可编辑:“弹出”,
});
});
函数wpErpOs_GridBoolean(容器、选项){
var guid=kendo.guid();
$('')。附加到(容器);
$(';')。附于(容器);
};
因为列是javascript对象,所以可以使用getter来构建模板。这允许您获取对象中其他属性的值(例如字段)。()
非常感谢你,这对我来说是一个完美的解决方案。我找了好几天没有任何解决办法。谢谢你约翰给了我这个很好的解决办法
{
field: "country",
title: "Country",
get template() {
var fieldName = this.field;
return function(e) {
var tmp = "";
var guid = kendo.guid();
$.each(e[fieldName], function(key, value) {
tmp += '<span class="k-button" style="line-height:1.25em; cursor:default;">' + value.text + '</span>';
});
return tmp;
}
},
}
{
field: "Date",
get template() {
return "# if (" + this.field + ") { # #= kendo.toString(kendo.parseDate(" + this.field + ",'yyyy-MM-dd'), 'MM/dd/yyyy') # # } #"
}
}