2016-12-13 11 views
0

剣道スプレッドシートを使用しようとしています。私はこれを達成しようとしています...私は動的なデータが入ってきています。ユーザがボタンをクリックすると、現在表示されているチャートまたはスプレッドシートのいずれかのデータが表示されます。データ構造はすべて値が異なるだけ同じです。データを作成してスプレッドシートを作成する関数を作成しました。剣道UI動的スプレッドシート

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

私は1分ごとに関数bob(任意の名前)を呼び出します。チャートはデフォルトでロードされ、スプレッドシートは最初は正常に読み込まれます。ボタンをクリックすると、グラフとスプレッドシートの表示を切り替えることができます。ただし、スプレッドシートを表示させるときに、データが入ってくるときにグラフが表示されている場合は、スプレッドシートが空白(値なし)になります。私は再び更新を待ってから、スプレッドシートを正しく更新する必要があります。キッカーがあります。アップデートが来たときにスプレッドシートが表示され、すべてがうまく読み込まれた場合です。スプレッドシートが隠れていると正しく読み込まれないのはなぜですか?私は、表示をnoneに設定する隠しクラスを追加するためにCSSを使用しています。

+0

データが入力された後にスプレッドシートが表示されないことがあります。ただ試してみてください: 'var spreadsheet = $( '。' +要素).data(" kendoSpreadsheet "); spreadsheet.render(); ' – AaBa

+0

@AaBaこれを実行するとUncaught TypeErrorが表示されます:spreadsheet.renderは関数ではありません(...) – seroth

+0

レンダリングはAPIに記載されている関数の1つです。しかし、よく聞いて、リフレッシュメソッドはあなたのためのトリックでした。 – AaBa

答えて

1

問題は、CSSコールdisplay:none;それをDOMから削除し、正しくレンダリングされていませんでした。私がしたとき

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

それはトリックでした。

関連する問題