情况:
-
剑道数据源
var ordersDataSource = new kendo.data.DataSource({
type: "odata",
transport: {
read: {
url: "http://localhost/odata.svc/Orders?$expand=OrderDetails"
}
},
schema: {
type: "json",
data: function(response){
return response.value;
}
total: function(response){
return response['odata.count'];
}
},
serverPaging: true,
serverFiltering: true,
serverSorting: true
})
-
从odata源读取的json数据如下:
{
odata.metadata: "xxxx",
odata.count: "5",
value: [
{
OrderId: 1,
OrderedDate: "2013-02-20",
OrderInfoA: "Info A",
OrderInfoB: "Info B"
OrderDetails: [
{
OrderDetailId: 6,
OrderDetailInfoC: "Info C",
OrderDetailInfoD: "Info D"
},
{
//Another OrderDetail's data
}
]
},
{
// Another Order's data
}
]
}
问题1:
1.如果我想定义一个“计算”属性:订购日期相关,应该是今天(2013-02-25)和订单创建日(2013-02-20)之间的天数,例如:“5天前”,我怎样才能在客户端实现这一点?
回答问题1:http://jsbin.com/ojomul/7/edit
问题2 --UPDATE--
2.每个订单都有其嵌套属性OrderDetails,那么是否可以为嵌套OrderDetails属性定义一个计算字段?喜欢:订单详细信息CAndD对于每个 OrderDetail,其值应类似于:订单详细信息C + 订单详细信息D,这是“Info C Info D”?
Thanks,
dean
您可以通过指定数据源的模型来创建计算字段:
dataSource = new kendo.data.DataSource({
data: [
{ first: "John", last: "Doe" },
{ first: "Jane", last: "Doe" }
],
schema: {
model: {
// Calculated field
fullName: function() {
return this.get("first") + " " + this.get("last");
}
}
}
});
这是一个现场演示:http://jsbin.com/ojomul/1/edit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)