• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GridView表示の高速化)

GridView表示の高速化手段とは?

このQ&Aのポイント
  • VB.NET&ASPで開発されたWebアプリにおいて、GridView表示の高速化を求めています。
  • 現在、GridViewを表示する際には時間がかかりすぎており、回避策が見つかりませんでした。
  • GridViewの定義やVB.NETのソースコードを提供しており、高速化のための手段を教えてほしいとしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • edp3143
  • ベストアンサー率100% (1/1)
回答No.2

No.1です。速度が遅い問題を解決するには、まずどこが遅いのか計測してください。たとえば、 1.SQL Server のデータ取得に時間がかかっている 2.サーバ側の DataBind 処理に時間がかかっている 3.ネットワークの回線速度が遅い 4.結果の HTML サイズが大きすぎる といったように色々な要因が考えられ、それぞれ解決方法が異なります。仮に大量のデータを扱うことのできるコントロールがあったとしても、ネットワーク速度が遅ければ解決しません。 恐らく3.4.の複合要因ではないでしょうか? サーバ側で処理開始~終了や要所でのログを出力、ストップウォッチで計測、スタックトレースをとる、HTMLをメモ帳で保存しサイズ確認等、色々調べてみてください。 どうしても大量のデータをクライアントと送受信する必要があるのであれば、Windows アプリや Silverlight 等をクライアントにして、圧縮データをサーバと送受信する、など仕組み自体を変えなければ解決しないかもしれません。

rossoner
質問者

お礼

edp3143さま ご回答ありがとうございます。 当方でも以下の調査を行い解決することが出来ました。 1.全てのボタンをVisible=Falseにして表示を実施 →瞬時にGridViewが表示されることを確認 2.ボタン2つをVisible=False、残りのボタン2つをVisible=Trueにして表示を実施 →4,5秒でGridViewが表示されることを確認 3.全てのButtonTypeをLinkに変更して表示を実施 →瞬時にGridViewが表示されることを確認 上記試行結果よりボタンが原因であると推測しました。 また以下のMSのサイトではバインドコントロール内に 子コントロールを作成するとパフォーマンスが低下する旨の記載もありました。 http://msdn.microsoft.com/ja-jp/library/ms998549.aspx このため以下の要因により現象が発生していたと判断しました。 ・ボタンの描画に時間がかかっていたこと ・GridViewにボタンコントロールを4つ配置していたこと ・大量のデータであったこと →そのためButtonTypeをLinkに変更して対応することとしました。 edp3143さまからご教授いただきました解決方法も今後の参考にさせていただきます。 ありがとうございました。

その他の回答 (1)

  • edp3143
  • ベストアンサー率100% (1/1)
回答No.1

GridView にそんな大量データを表示することがそもそもの間違いです。それだけの件数表示しても本当に見るの?という話です。 普通は Google の検索結果などのようにページング処理を行って、少しずつ表示するようにします。

rossoner
質問者

補足

edp3143さま ご回答ありがとうございます。 この一覧はPDFファイルに出力するレイアウトを作成するためのもので 各項目をあわせると基本的に約300件ほどになります。 レイアウト作成のため行の追加、編集、削除が必要となり ページング処理を行うことができません。 (説明不足でした。申し訳ありません。) なおGridView は大量のデータを扱うには不向きとのことですが 大量のデータを扱うのに適したコントロールにはどのようなものがあるのでしょうか? VB.NET&ASPともに始めたばかりのため知識不足で試行錯誤してGridView を使っていました。 よろしければ引き続きご教授をよろしくお願いいたします。

関連するQ&A