我有一个网格,当用户点击一个按钮,它得到了一些参数和刷新数据源:剑道UI:Excel导出数据源不正确后工作清爽数据
var grdUP = $("#weblogGrid").data("kendoGrid");
grdUP.dataSource.transport.options.read.url = url; // new url
//Read data source to update
grdUP.dataSource.read();
它工作正常。新的数据显示在网格中。网格有另一个按钮,它将数据导出到excel。我使用下面的代码(也尝试了内置按钮):
var grid = $("#weblogGrid").data("kendoGrid");
grid.saveAsExcel();
实际数据导出为Excel文件。
但是,它始终将网格中的初始数据导出,而不是刷新数据用户。
例如,网格首次出现时,它有10行数据。刷新后,它有5行数据。现在,如果导出,尽管网格中的数据不同,但它仍会导出10行数据。
这是一个错误?或者,也许我在刷新网格中做错了什么?
感谢
=============================== 编辑以澄清一些
谢谢。目前,我使用了新的数据:
var url = '/WeblogReport/GetWebLogList?fromDate=' + fromDate + '&toDate=' + toDate;
var grdUP = $("#myGrid").data("kendoGrid");
//Set url property of the grid data source
grdUP.dataSource.transport.options.read.url = url;
//Read data source to update
grdUP.dataSource.read();
所以我改成:
// get value of date
....
$.ajax({
type: "GET",
dataType: "json",
url: "/WeblogReport/GetWebLogList",
data: { FromDate: fromDate, ToDate: toDate },
success: function (data) {
alert(data);
var grid = $("#myGrid").data("kendoGrid");
grid.dataSource.data(data);
grid.refresh();
}
});
不知何故,它不显示新的数据。有什么建议么?
非常感谢。
添加更多的澄清
这是在JSON调用。
success: function (data) {
var newdata = [{ "UserName": "username", "ClientIP": "1.1.1.1"}];
$("#myGrid").data("kendoGrid").dataSource.data(newdata);
$("#myGrid").data("kendoGrid").refresh();
//$("#myGrid").data("kendoGrid").saveAsExcel();
}
谢谢,它看起来很有希望。我在原始问题中添加了更多信息。有什么建议么?不知何故,JSON调用是错误的?谢谢 – urlreader 2015-02-09 23:49:15
grid.dataSource.data(data);这里的'数据'是一个数组?数据源需要一个数组传递给它。 – Andrea 2015-02-10 00:23:57
是的,它是一个数组。我甚至将其设置为常量(请参阅原文),但仍然无法正常工作。然而,你的例子工作。我试图在Json调用中调用saveAsExcel并作为默认按钮,不起作用。似乎对旧数据的引用从未改变过。我正在使用Kendo UI MVC,也许是因为它? – urlreader 2015-02-10 00:55:15