2009-04-28 8 views

答えて

6

はい、問題が発生します。

多くのレコードを追加しないでください。

これ以上のものは必要ありません。代わりに、フィルタリング機能を追加して、ユーザーが使用したいデータの範囲を指定できるようにする必要があります。

たとえば、ユーザーが日付(時間に敏感なデータの場合)または注文番号の範囲を絞り込むようにしてもよいし、何でもよい。

しかし、ではなく、のグリッドに500K行を追加する方法を見つけることができます。

+0

+1「質問する必要がある場合は、おそらく間違っていることを指摘しています。 (http://blogs.msdn.com/oldnewthing/archive/2007/07/18/3926581.aspx)。 –

+0

これは私が最初に見つけたときに探していたリンクです:http://blogs.msdn.com/oldnewthing/archive/2007/03/01/1775759.aspx –

3

アプリのメモリ占有量が最大に達しているようです。

単一の措置はありません。

アプリケーションメモリには、アプリケーションで使用されているGDIハンドル、ファイルハンドル、スレッドも含まれます。 タスクマネージャなどを使用してGDIハンドルリークがないことを確認してください。

UIに500,000のレコードをロードするのは良い習慣ではありません。ユーザーはそれほど多くの情報を扱うことはできません。ページングやその他の方法でタスクを変更してください。

0

私が通常行うことは、画面に表示されるレコードの数を制限することです。通常は20に制限されますが、表示しようとしているデータの種類によって異なります。

通常、この後にフィルタリングを適用し、データと修正されたレコード数をアプリケーションに返します。ユーザーがすべてのレコードを見ることができるようにするには、別のアプリケーション(通常はXMLが破損するExcel)にエクスポートすることができます。

しかし、誰も50万レコードを読むことはありません。

1

これは大きなデータです。まず、データ量を減らすことですが、タグにDataGridViewと書いてあるので、大規模なデータシナリオでは「仮想モード」があります。 MSDNのhere (overview)およびhere (howto)を参照してください。

他のリストベースのコントロールには、「仮想モード」もサポートされています(ただし、すべてではありません)。

関連する問題