2016-12-13 38 views
0

我正在尝试使用Kendo电子表格。我试图完成的是...我有动态数据进来。当用户点击一个按钮时,它将数据显示为基于当前显示的图表或电子表格,默认情况下它是图表。数据结构完全相同,只是值不同。我创建了一个函数来构建数据并创建电子表格。Kendo UI动态电子表格

function bob(data){ 
    var rows = massageData(); 
    $('.' + element).kendoSpreadsheet({ 
     toolbar: false, 
     sheetsbar: false, 
     sheets: [{ 
      name: name.Title, 
      rows: rows 
     }] 
    }); 
} 

我每分钟都会调用一个函数bob(任意名称)。默认情况下,图表最初加载和电子表格加载得很好。我可以通过点击按钮来切换图表和电子表格之间的视图。但是,如果在数据进入时显示图表,则在使电子表格可见时,电子表格会显示为空白(无值)。我必须再次等待更新,然后电子表格才能正确更新。这里是踢球者,如果电子表格是可见的,当更新进入一切正常加载。为什么电子表格在隐藏的情况下无法正确加载?我只使用CSS来添加一个隐藏的类,它将display设置为none。

+0

数据填充后,电子表格可能无法呈现。试试: 'var spreadsheet = $('。'+ element).data(“kendoSpreadsheet”); (...) spreadsheet.render();' – AaBa

+0

@AaBa当我运行,我得到未捕获TypeError:spreadsheet.render不是一个函数(...) – seroth

+0

渲染是API中提到的功能之一 - 不知道,为什么不会工作。但很高兴听到,刷新方法为你做了诀窍。 – AaBa

回答

1

问题在于CSS调用display:none;将它从DOM中移除并且没有正确渲染。当我做了

$('.' + element).data("kendoSpreadsheet").refresh(); 

这样做的伎俩。