- PR -

HTMLの描画

1
投稿者投稿内容
taki
常連さん
会議室デビュー日: 2003/09/16
投稿数: 45
投稿日時: 2005-02-02 09:35
WindowsXPでVB.net2003(ASP.net)、DBはSQLServer2000を使用して開発を行っています。
ターゲットブラウザは、IEのみでバージョンは5.0以上とします。

検索画面より検索結果(別画面)を一覧に描画する処理を作成しています。
一覧の内容は、テーブルのみで、一行に13項目で、内チェックボックスが1つとボタンが1つです。
検索結果が大量(およそ10万件)の場合、一覧が表示される前に「ページが表示できません」
とエラーが発生します。原因は、ブラウザのインターネットの一時ファイルの使用する
ディスク容量が少なく設定(2000MB程度)されている為、表示できないようです。
試しに容量を多くした(20000MB程度)場合、描画するのに10分近くかかりますが描画されました。
10分近くのほとんどが描画するところで時間がかかっています。(DBからデータ取得には5秒程度)

この方法ですと一覧を表示させる為(データ量が多い場合)には、クライアントの設定に
委ねられてしまいますので、なるべく避けたいと思っています。

そこで現在考えているのは、描画する件数を例えば1000件にし、次ページ、前ページのように
して描画しようかと考えています。
しかし、できるようでしたら一覧で閲覧(10万件は現実的ではないと思われますが・・)
をしたいと思いますので、もし何かよいアイデアあるようでしたら、
どんな些細なことでも結構ですので是非ともアドバイスを頂けないでしょうか?
宜しくお願いします。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-02-02 09:54
DataGridじゃだめですか?
ページ切り替えで表示したり、全部表示したりできますけど。
ron
常連さん
会議室デビュー日: 2002/08/19
投稿数: 46
投稿日時: 2005-02-02 09:58
自分なら基本はページングで、どうしても全件の一覧が欲しければCSVなり、Excelなりのファイルにしてダウンロードさせますね。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2005-02-02 10:27
10万件全体が、一個のTABLEになっているのでしょうか?
100件毎にTABLEを分けるとかすれば、表示に要する時間は大幅に改善されます。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-02-02 12:46
引用:

takiさんの書き込み (2005-02-02 09:35) より:
そこで現在考えているのは、描画する件数を例えば1000件にし、次ページ、前ページのようにして描画しようかと考えています。


普通はそうする。
DataGridを使えば特別に意識しなくても、自動的にそういう動作をしてくれるし・・・・。
引用:

しかし、できるようでしたら一覧で閲覧(10万件は現実的ではないと思われますが・・)
をしたいと思いますので、もし何かよいアイデアあるようでしたら、


HTMLで出力して、それをWEBブラウザに表示してもらっている以上、表示に掛かる時間はWEBブラウザの性能に依存する。これはどうしようもない。もし表示を早くしたいのであれば、ActiveXをページに埋め込むとか、スマートクライアントでブラウザを起動させると言った方法をとる以外に無いと思う。

_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
taki
常連さん
会議室デビュー日: 2003/09/16
投稿数: 45
投稿日時: 2005-02-02 13:32
一郎さん、ronさん、coasmさん、甕星さん
アドバイスありがとうございます。
ronさんのおっしゃっていたページングにしまして
欲しい場合は、CSVでダウンロードしてもらうようにする方向で検討します。
又、coasmさんのおっしゃっていたテーブルをわける方法も試してみます。
みなさまありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)