2011-01-04 20 views
3

データを返すWebサービスがありますが、かなり大きなセットは600行、20列になります。 このデータをJQueryコードのhtmlテーブルにロードする最も効率的な方法は何ですか?大きなデータをjqueryにロードする

返されたデータをループしてテーブルhtmlを作成しようとしましたが、文字列の中にテーブルDOMを作成しようとしましたが、ループ部分が非常に遅いです。あなたは、Webサービスを変更したり、別のサービスコールを持っている....

おかげ

答えて

2

ことが可能ですが、私はjQueryのテンプレートを聞いたことがあるが、私は、この技術は、大量のデータセットのために十分に高速であることを確認していませんそれは、データサーバー側を解析し、HTMLを返しますか?クライアントサイドでJSONを処理することは、あなたのボトルネックになるでしょう。サービスで必要なHTMLを返すことができれば、クライアント側では簡単なelement.html(data)です。

編集:JSONまたはHTMLを返すの質問とそれぞれの長所と短所がここで議論されてきたかなり: 12345

+0

処理されたデータを扱うことは良い考えですが、まだデータ量で処理する必要があります。ありがとう、例? – Xaqron

1

これは設計事項であると思われます。一度に600 x 20のデータ項目を読み込むことは良い考えではありません。ポケットPCやTC(シンクライアント)のようなシステムリソースの少ないクライアントは、そのようなページを訪れるのに苦労するだろうと考えてください。

Webserviceデータをキャッシュし、ユーザーアクションに基づいてクライアントブラウザにチャンクでロードする必要があります。いくつかのAjaxコントロールを使用することができます。

+0

?ツール? – sarsnake

+0

http://www.codeproject.com/KB/ajax/AjaxDataGridSample.aspx – Xaqron

+0

ありがとうございますが、私はAjaxのMS風味の使用を避けようとしています。私はJqueryのきれいなアプローチに固執しています。あなたのアイデアは基本的に次のようなものです:「ユーザーがスクロールしたときに」データをさらに読み込みますか? – sarsnake

1

ユーザーができるだけ早くデータとやり取りできるようにする場合は、無限スクロール(連続スクロールとも呼ばれます)パターンを考慮して、必要に応じてグリッドを作成しますユーザーをスクロールし、グリッドを最前面にレンダリングする時間を費やすことはありません。

いくつかのリンク:http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-an-infinite-scroll-web-gallery/

0

http://www.infinite-scroll.com/

私はあなたのJSONデシベル形式のデータ用で応答し、サーバー側のページを書くことができ... JSON DBは最高の役に立つかもしれないこれはどこだと思いますいくつかの行..あなたの自身のAjaxコードを行をロードし、<table>"overflow:auto;"のようなディスプレイモデルのあなたの選択でそれらを処理し、そのテーブルに行を追加する..または '無限のスクロール' 。

関連する問題