Kendo ui 剑道数据源返回自定义值
我有一个像这样的远程数据源Kendo ui 剑道数据源返回自定义值,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个像这样的远程数据源 var datasource = new kendo.data.DataSource({ autoSync: false, batch: true, transport: { read: { url: "some_url", dataType: "json" } }, serverFiltering: true, serverGrouping
var datasource = new kendo.data.DataSource({
autoSync: false,
batch: true,
transport: {
read: {
url: "some_url",
dataType: "json"
}
},
serverFiltering: true,
serverGrouping: true,
serverPaging: false,
page: 1,
pageSize: 10,
schema: {
data: "results",
total: "total",
model: {
id: "id"
}
}
});
我希望像这样从服务器端获得一个附加值
$response = array(
'results' => $product_alerts,
'total' => $total,
'total_approved_products' => 27
);
echo json_encode($response);
exit;
我是否可以在客户端获得所有已批准产品的价值
非常感谢在
模式
定义中添加一个解析
函数,您可以在该函数中提取已批准的所有产品
,以及您想要的任何产品。例如:
schema : {
data : "results",
total: "total",
model: {
id: "id"
},
parse: function (d) {
// Get total_approved_products and display alert.
alert(d.total_approved_products);
// Return data in order to be included in the `DataSource.data`
return d;
}
}
在
schema
定义中添加一个parse
函数,从中提取total\u approved\u products
以及您想要的任何内容。例如:
schema : {
data : "results",
total: "total",
model: {
id: "id"
},
parse: function (d) {
// Get total_approved_products and display alert.
alert(d.total_approved_products);
// Return data in order to be included in the `DataSource.data`
return d;
}
}
@OnaBai解决方案的替代方案如下。这两种解决方案都不是完美的,但是在解析时提取额外的对象是危险的,如果您已经实现了读取/更新/创建/删除,那么它们的响应对象也会命中解析,并且您的总的\u批准的\u产品很可能不在那里。我建议在数据源读取时使用完整事件
read: {
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
url: _op.serviceBaseUrl + "ReadX",
complete: function (jqXhr, textStatus) {
var result = jQuery.parseJSON(jqXhr.responseText);
alert(result.d.total_approved_products);
}
}
@OnaBai解决方案的替代方案如下。这两种解决方案都不是完美的,但是在解析时提取额外的对象是危险的,如果您已经实现了读取/更新/创建/删除,那么它们的响应对象也会命中解析,并且您的总的\u批准的\u产品很可能不在那里。我建议在数据源读取时使用完整事件
read: {
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
url: _op.serviceBaseUrl + "ReadX",
complete: function (jqXhr, textStatus) {
var result = jQuery.parseJSON(jqXhr.responseText);
alert(result.d.total_approved_products);
}
}
你说“危险”。。。我认为添加一个if:if(d.total\u approved\u products)警报(d.total\u approved\u products)非常容易解决这个问题。看起来不那么“危险”,你节省了很多代码行!你说“危险”。。。我认为添加一个if:if(d.total\u approved\u products)警报(d.total\u approved\u products)非常容易解决这个问题。看起来不那么“危险”,你节省了很多代码行!