0

YUI3タブビューにいくつかのタブがあります。各タブには、YUI3のスクロール可能なデータテーブルがいくつか含まれています。データテーブルは作成されますが、レンダリングされません。私が見ることができるのは、各データテーブルの最初の列の一部です。

ただし、ブラウザウィンドウのサイズを変更すると、レンダリングされたテーブルが表示されます。別のタブに切り替えるたびに、どういうわけかテーブルを再レンダリングする必要があるのではないかと思います。これどうやってするの?

データテーブルは、Tabs/Tabviewから独立して作成されます。

どんな助けでも大歓迎です。

4

1 に答える 1

0

はい、スクロールする DataTables は、テーブルの一部の要素のサイズを計算する必要があるため、レンダリング時に表示可能なコンテナーにある必要があります。これdisplay: noneは、非表示のタブの下にある場合は実行できません。これを回避する方法は、データテーブルを保持するタブが表示されるまで待つことです。selectedChangeタブのイベントの「後」段階をリッスンすることで、それを行うことができます。例えば:

tabview.item(1).after('selectedChange', function (e) {
  if (e.newVal) {
    table.render();
 }
});

これが実際の例です: http://jsfiddle.net/juandopazo/H2ASR/2/

于 2012-11-20T12:49:19.100 に答える