2009-05-26 10 views
0

私はjQyueryで動的に構築する約5,000行のテーブルを持っています。最終的にすべての行を表示するまで、テーブルが構築されているときに行をチャンクに表示する方法があるかどうかは疑問でした。jQueryで大きなテーブルを部分的にレンダリングする

私はこれを試しましたが運がありません。これまで私は以下を試してきました:

a)スタブの作成 b)合計行を取得し、それをより小さなチャンクに分割します。 c)最初のチャンクをテーブルに挿入し、最後の行の関数への呼び出しを埋め込んで、ロードする次のデータバッチを呼び出します。

残念ながら、このようにしても、すべてがレンダリングされるまで待つ必要があります。これを回避する方法はありますか?

答えて

1

テーブルの次のチャンクを生成するためにsetTimeoutを使用します。少しUIスレッドをあきらめて、生成されたテーブルパーツを表示します。

生成コードの最後に生成コードを呼び出しても、スレッドを放棄したことはありません。

+0

これは最良のアプローチのように聞こえる。私はそれを試してみます。ありがとう – Dkong

0

なぜWebアプリケーションで5K行が必要なのですか? ページングを使用することを強くお勧めします。

それ以外の場合は、解決策c)が最良と思われ、うまくいくはずです。 多少の微調整が必​​要なのかもしれません。あなたはajax呼び出しでデータの次のバッチを呼び出していますか?データの次のバッチがロードされている間に何が表示されますか?ブラウザは停止していますか?

0

ページングが最適なソリューションです。すでにflexigridjqgridのような多くの良いjqueryデータグリッドプラグインがシーンに出ています。それらをチェックしてください。

+0

集計で財務データを表示しているので、このシナリオではページングが適切ではないと言わざるを得ないでしょう。とにかく、ページングは​​このシナリオ(クライアントからの指示)のための明確なno-goなので、合理的な解決策を見つけるための私の試みです。 – Dkong

関連する問題