首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Telerik RadHTMLChart中设置JavaScript中的多行系列?

在Telerik RadHTMLChart中设置JavaScript中的多行系列?
EN

Stack Overflow用户
提问于 2016-08-24 19:35:30
回答 1查看 431关注 0票数 0

我尝试过设置Telerik RadHTMLChart 按照这个设置 (包括指定XAxis/YAxis、Series等),我使用了这是Telerik文档 (包括允许图表定义自己的params,请参阅下面的标记)来动态设置数据源,但无法让图表显示。

当单击按钮时,它会删除一个类,该类在包装图形的div上执行display: none;操作,然后调用generateGraph()函数:

代码语言:javascript
运行
复制
this.generateGraph = function () {
    var newData = [];

    for (var i = 0; i < 10; i++) {
        var newPoint = {
            "Value": 2 * i,
            "Color": "Green"
        }
        newData.push(newPoint);
    }

    radGraph.set_dataSource(newData);
    radGraph.repaint();
}

但是有一些奇怪的事情发生了:

  1. 除非我使用console源代码在radGraph.repaint()上放置一个断点并手动运行radGraph.repaint()命令,否则图表不会显示。
  2. 这样做之后,就不会出现任何数据点。
  3. 当我得到一些要显示的值时(我甚至不记得是如何出现的),多个点是由一条线连接的,就像在同一系列中一样。

有人能帮我吗?我使用的是Telerik.Web.UI.dll版本2015.2.623.40。

这是标记:

代码语言:javascript
运行
复制
<telerik:RadHtmlChart ID="radGraphChart" ClientIDMode="Static" runat="server">
    <PlotArea>
        <Series>
            <telerik:LineSeries DataFieldY="Value" ColorField="Color" >
            </telerik:LineSeries>
        </Series>
    </PlotArea>
</telerik:RadHtmlChart>

编辑:我发现了#1和#2的问题(#1可能是剑道代码中的一个错误,它的_loadData()函数有if(!u._isStockChart()){u._chartObject.refresh();}}else{u._chartObject.refresh();},应该有一个refresh()调用be redraw(),我很确定. #2是在某个地方出错了),但我仍然不知道如何在图表中添加多个系列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 20:38:08

我想出了大部分的办法。

1+ 2:

我不知道具体在哪里,但在Kendo函数中,它并不是在应该在什么地方执行redraw()/repaint()/refresh(),因为我对repaint()的第一个调用是加载数据、设置属性、blah、blah,但是有_dataSourceChanged = false,而不是实际重绘,所以第二个repaint()调用有_dataSourceChanged = true,然后重绘。

3:

标记应该在<telerik:LineSeries>标记中包含两个<Series>标记,并且只有一个不同的DataFieldY属性:

代码语言:javascript
运行
复制
<telerik:RadHtmlChart ID="radGraphChart" ClientIDMode="Static" runat="server">
    <PlotArea>
        <Series>
            <telerik:LineSeries DataFieldY="Value1">
            </telerik:LineSeries>
            <telerik:LineSeries DataFieldY="Value2">
            </telerik:LineSeries>
        </Series>
    </PlotArea>
</telerik:RadHtmlChart>

然后,您可以通过以下操作引用添加JavaScript中的一个数据点: this.generateGraph = function () { var newData = [];

代码语言:javascript
运行
复制
for (var i = 0; i < 10; i++) {
    var newPoint = {
        "Value1": 2 * i,
        "Value2": 3 * i
    }
    newData.push(newPoint);
}

radGraph.set_dataSource(newData);
radGraph.repaint();
radGraph.repaint();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39131697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档