我有一个Kendo ui图表,它显示动态数据源的柱形图。但偶尔,图表的可用空间大小只有一半。当我点击某些链接或更改日期时,它会自行调整大小。知道为什么会造成这种情况吗?
在datasource change事件中,当它显示此行为时,它将容器div的宽度显示为0。如果需要,我可以提供更多细节
我尝试了其中一个答案中给出的刷新方法,但它没有帮助
答案 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 },