免責事項:私はYUI DataTable を長い間頭痛のない状態で頻繁に使用しています 。強力で安定しています。あなたのニーズに合わせて、あなたが使用することができますScrollingDataTableウィッヒsuportsはを
- Xスクロール
- Yスクロール
- xyスクロール
- 強力なイベントメカニズム
必要なものについては、tableScrollEventが必要だと思います。そのAPIは言う
固定スクロールDataTableにスクロールがあるときに発生します。
各DataTableはDataSourceを使用するため、必要に応じてScrollingDataTable にデータを入力するために、レンダリングループサイズとともに tableScrollEventを介してデータを監視できます。
レンダーループサイズは言う
DataTableが非常に大きなデータセット全体を表示する必要がある場合、renderLoopSize構成は、ブラウザーのDOMレンダリングの管理に役立ち、UIスレッドが非常に大きなテーブルでロックされないようにします。0より大きい値を指定すると、DOMレンダリングは、各ループで指定された行数をレンダリングするsetTimeout()チェーンで実行されます。厳密な規則はなく、一般的なガイドラインのみがあるため、理想的な値は実装ごとに決定する必要があります。
- デフォルトではrenderLoopSizeは0なので、すべての行が単一のループでレンダリングされます。renderLoopSize> 0はオーバーヘッドを追加するため、慎重に使用してください。
- データのセットが十分に大きい場合(行数X列数Xのフォーマットの複雑さ)、ユーザーが視覚レンダリングで遅延を経験したり、スクリプトがハングしたりする場合は、renderLoopSizeの設定を検討してください。
- 50未満のrenderLoopSizeはおそらく価値がありません。renderLoopSize> 100の方が良いでしょう。
- データセットは、数百および数百の行がない限り、おそらく十分な大きさとは見なされません。
- renderLoopSize> 0および<合計行があると、テーブルは1つのループでレンダリングされます(renderLoopSize = 0と同じ)が、レンダリング後の行のストライピングなどの機能がトリガーされ、別のsetTimeoutスレッドから処理されます。
例えば
// Render 100 rows per loop
var dt = new YAHOO.widget.DataTable(<WHICH_DIV_WILL_STORE_YOUR_DATATABLE>, <HOW YOUR_TABLE_IS STRUCTURED>, <WHERE_DOES_THE_DATA_COME_FROM>, {
renderLoopSize:100
});
<WHERE_DOES_THE_DATA_COME_FROM>は、単一のDataSourceです。JSON、JSFunction、XML、さらには単一のHTML要素にすることもできます
ここに、私が提供する簡単なチュートリアルがあります。他の DATA_TABLEプラグインがシングルクリックとデュアルクリックを同時にサポートしていないことに注意してください。YUI DataTableを使用すると、さらに、JQueryでも問題なく使用できます。
いくつかの例、あなたは見ることができます
YUI DataTableについて他にご不明な点がございましたら、お気軽にご質問ください。
よろしく、