我的应用程序中有一个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"}
]
}
});
最佳答案
更新到更新版本的 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
。 - 将
Grid
中dataSource
的值替换为undefined
。 - 向 shared
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/
关于javascript - 我的剑道图表数据在页面加载时无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218207/