剑道UI图表没有调整大小?

时间:2014-06-11 15:23:03

标签: kendo-ui

enter image description here

我有一个Kendo ui图表,它显示动态数据源的柱形图。但偶尔,图表的可用空间大小只有一半。当我点击某些链接或更改日期时,它会自行调整大小。知道为什么会造成这种情况吗?

在datasource change事件中,当它显示此行为时,它将容器div的宽度显示为0。如果需要,我可以提供更多细节

我尝试了其中一个答案中给出的刷新方法,但它没有帮助

6 个答案:

答案 0 :(得分:8)

通常在动画窗口中完成展开之前打开图表时会发生这种情况。

我的建议是在确定所有内容都已加载并完全打开时重绘图表。

$("#myChart").data("kendoChart").redraw();

如果您尚未停用动画,则可能需要在此之前执行此操作,并在之后重新启用它们。

$("#myChart").data("kendoChart").options.transitions = false;

答案 1 :(得分:5)

当您在控制器中获得所有必要的数据后,您可以调用Javascript CallBack函数,在该函数中您可以将转换设置为false,然后重绘图表并将转换设置为true,您也可以默认隐藏图表。使其在Javascript CallBack函数上可见

答案 2 :(得分:2)

试试这个

var chart=$("#chart").data("kendoChart");
//to check the chart exist or not if exist then redraw it..
if(chart)
{
chart.redraw();
}

由于

答案 3 :(得分:2)

这就是我在图表中使用的内容:

if($("#areaChart").data("kendoChart")) {
    $("#areaChart svg").width(Number($('.k-content').width()));
    $("#areaChart svg").height(Number($('.k-content').height()));

    $("#areaChart").data("kendoChart").refresh();
}

取自here

您检查了resize()方法吗?

答案 4 :(得分:0)

我通过在调用CreateChart()函数后添加一个小延迟来修复它,如下所示:

CreateChart(this.id, this.id + " this week", "week", null);
    sleep(1000);

现在工作正常

答案 5 :(得分:0)

$("#divSensingData&#34)。kendoChart({                 chartArea:{                         宽度:900,                         身高:500                         },