我的应用程序中有 kendo grid 和 kendo chart 。我正在使用图形和网格的共享数据源。我的问题是页面加载网格显示所有数据,但图表只显示一些数据。
我的图表代码:
$("#Chart").kendoStockChart({
theme : $(document).data("kendoSkin") || "metro",
dataSource : DataSource,
autoBind : false,
legend : {
position: "right", visible: true
},
dateField : "date",
seriesDefaults: { type: "line" },
series : [
{
field: "value",
name : "value"
}
],
valueAxis: [
{
max : 5.0,
min : 0,
labels : {
format: "{0}"
},
tooltip: { visible: true, format: "{0}" }
}
],
navigator: {
series: [
{ field: "item", type: "area"}
]
}
});
答案 0 :(得分:2)
更新到较新版本的Kendo UI v2012.3.1315。
<script src="http://cdn.kendostatic.com/2012.3.1315/js/jquery.min.js"></script>
<script src="http://cdn.kendostatic.com/2012.3.1315/js/kendo.all.min.js"></script>
<link href="http://cdn.kendostatic.com/2012.3.1315/styles/kendo.common.min.css" rel="stylesheet"/>
<link href="http://cdn.kendostatic.com/2012.3.1315/styles/kendo.default.min.css" rel="stylesheet"/>
<link href="http://cdn.kendostatic.com/2012.3.1315/styles/kendo.dataviz.default.min.css" rel="stylesheet"/>
修改强>:
如果您在两个Kendo UI小部件之间共享一个DataSource,那么您将共享每个选项,其中包括pageSize
。因此,要么在grid
中显示所有结果,要么只显示chart
中页面中的那些项目。
我建议分享 DataSource
的结果(内容),而不是共享。我的意思是:
DataSource
,Grid
和Chart
。dataSource
中的Grid
的值替换为undefined
。DataSource
定义change
事件,将数据分配给Grid.dataSource
。这样的事情:
var sharedDataSource = new kendo.data.DataSource({
type : "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
},
schema : {
model: {
fields: {
OrderDate: { type: "date" }
}
}
},
change : function (e) {
grid.dataSource.data(e.items);
}
});
检查此处运行的代码:http://jsfiddle.net/OnaBai/5bchz/