我想将表列字段与kendo-grid
中的单列组合 { field: 'name', title: 'Name' },
{ field: 'address', title: 'Address'},
{ field: 'phoneNumber', title: 'Phone Number' },
{ field: 'remarks', title: 'Remarks' },
{ command: ['edit', 'destroy'] }];
字段:'地址'是一个对象。
地址:{ blockNo:' xx', 城市:'新加坡', 国家:'新加坡', floorNo:' xx', id:' xx', zipCode:' xxxxx', streetName:' xx', unitNo:' xx', }
所以,我需要结合在kendo-grid中的单个列中显示。
EG。 Blk-xx,#xx-xx,Singapore,xxxxx - >在一栏中。
答案 0 :(得分:2)
另一种方法是使用外部模板或函数来执行此操作(这是我首选的解决方案,因为它更易于维护)
我已经调整了我在之前的答案中使用的演示,以突出显示可能有用的方法。
我所做的只是将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:很高兴你的同事帮助你解决了这个问题。
答案 1 :(得分:1)
我的同事得到了正确答案:)
答案是:
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'] }];
例如:BLK-xx,xx Street,#XX-XX,S-XXXXX,xxx,xxx
非常感谢你,.. 我只是为知识共享添加答案.. :)