我想将表列字段结合到Kendo-Grid中的单列
{ field: 'name', title: 'Name' },
{ field: 'address', title: 'Address'},
{ field: 'phoneNumber', title: 'Phone Number' },
{ field: 'remarks', title: 'Remarks' },
{ command: ['edit', 'destroy'] }];
字段:'address'是一个对象。
地址:{blockno:'xx',城市:"新加坡",国家:"新加坡",floorno:'xx',id:'xx',ZipCode:'xxxxx',街头名称:'xx',unitno:'xx',}
所以,我需要组合以在Kendo-Grid中的单列中显示。
例如。blk-xx,#xx-xx,新加坡,xxxxx->在单列中。
另一种方法是使用外部模板或功能也可以执行此操作(这是我的首选解决方案,因为它更容易维护)
我已经改编了我在先前答案上使用的演示,以突出显示可能使用的方法。
模板地址对象
我所做的只是 extract
将模板输出到这样的函数中:
function generateAddress(data) {
var retString = '';
if (data !== undefined && data !== 'undefined' && data !== null) {
retString += '<p><strong>Block No:</strong> ' + data.blockNo +
'<br/><strong>Street Name:</strong>' + data.streetName +
'<br/><strong>Floor No:</strong>' + data.floorNo +
'<br/><strong>City:</strong>' + data.city +
'<br/><strong>Zip Code::</strong>' + data.zipCode +
'<br/><strong>Country:</strong>' + data.country + '</p>';
} else {
retString = '<p>N/A</p>';
}
return retString;
}
然后将列中的模板签名更改为类似的内容:
{field: "address", width:"200px", title:"Address",
template:"#=generateAddress(data.address)#" }
这样,我们只是将对象传递给该函数,并且可以在功能中执行所需的任何更改,注意:,如果您在代码中的许多位置都使用了此功能。
它还执行一个简单的检查,以查看该项目是否存在,如果不存在,则将其放置在其位置。
我还从external
模板加载时也添加了供您查看。
我个人更喜欢第一个选项,但是这些是您将来可以研究的一些替代方法。
nb:很高兴您的同事设法帮助您解决了这个问题。
我得到了同事的正确答案:)
答案是:
var schema = [
{ field: 'name', title: 'Name' },
{ field: 'address', title: 'Address', template: 'BLK-#=address.blockNo+", "+address.streetName+", \#"+address.floorNo+"-"+address.unitNo+ ", S-"+address.pinCode+", "+address.city+", "+address.country#'},
{ field: 'billingAddress', title: 'Billing Address', template: 'BLK-#=billingAddress.blockNo+", "+billingAddress.streetName+", \#"+billingAddress.floorNo+"-"+billingAddress.unitNo+ ", S-"+billingAddress.pinCode+", "+billingAddress.city+", "+billingAddress.country#'},
{ field: 'phoneNo', title: 'Phone Number'},
{ field: 'fax', title: 'Fax'},
{ field: 'email', title: 'Email'},
{ field: 'contactPerson', title: 'Contact Person'},
{ field: 'remarks', title: 'Remarks' },
{ command: ['edit', 'destroy'] }];
eg:blk-xx,xx街,#xx-xx,s-xxxxx,xxx,xxx
非常感谢您,..我只是为知识共享添加答案..:)