1

我的应用程序中有一个剑道网格剑道图表。我正在为图形和网格使用共享数据源。我的问题是页面加载网格显示所有数据,但图表仅显示一些数据。

我的图表代码:

$("#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"}
        ]
    }
});
4

1 回答 1

3

更新到更新版本的 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. 我是说:

  1. 像你现在所做的那样定义DataSource、 theGrid和 the 。Chart
  2. 替换bydataSource中的值。Gridundefined
  3. 共享 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/

于 2013-03-05T11:41:55.753 回答