1

面接の質問がありました。

Gridview contains 100000 RecordsQ. c#asp.netのデータ(データソースはXMLまたはDBの場合があります)のパフォーマンスを向上させる方法は?

答えがなかったのでまばたきをしていました。解決策を教えてください。可能であれば、デモを1つ提供してください。

4

3 に答える 3

7

gridviewに100000レコードを含めることはできません。

データソースには、その10倍の数のレコードが含まれている可能性がありますが、それは問題ではありません。画面に100を超えるレコードをユーザーに表示すると、そのデータを操作するのが困難になります。

グリッドビューのページングをサポートするデータソースを選択します。これにより、画面に表示されるレコードの数のみを操作できます。

データベースの場合、SqlDataSourceのようなものを使用できます。デフォルトのXmlDataSourceはページングをサポートしていません。そのような場合、グリッドはすべてのレコードをメモリに保持し、ページング自体を処理します。多数のレコードを含むxmlの場合、ページングを自分で実装できるObjectDataSourceの使用を検討してください。

選択肢がある場合は、常にページングをサポートするデータソースを選択してください。

于 2012-08-20T04:17:48.503 に答える
0

このようなGridViewを修正するには、次の方法が適切だと思います。

  • ページングを追加します(他の人がすでに指摘しているように)
  • フィルタリング/検索を追加
  • 表示される最大行数の上限/制限を追加します

結果のフィルタリング+最大制限は、(私の意見では)グリッドのサイズを管理しやすくするための良い方法です。指定されたフィルターのセット(=検索語)​​を使用して最大制限に達した場合、ユーザーにそれに関するメッセージを表示し、必要に応じてより具体的な検索を指定するようにユーザーに促すことができます。

于 2012-08-20T06:03:35.093 に答える
0

前に述べたように、グリッドビューはそれほど多くの行を保持するべきではありません。あなたのインタビューで、彼らはあなたがあなたのプログラミングスキルをチェックするのではなく、それが悪い実装であると言うことができるかどうかを見たかったのです。

しかし、優れたパフォーマンスを主張する場合は、Gridviewの代わりにRepeaterを使用することをお勧めします。

乾杯、蘭

于 2012-08-29T12:25:50.357 に答える