bilanderのプロフィール
@bilander bilander
ありがとう数1
質問数0
回答数1
- ベストアンサー数
- 0
- ベストアンサー率
- 0%
- お礼率
- 0%
- 登録日2009/07/30
- [C#]DataGridViewのVirtual Modeについて
DataGridViewのVirtual Modeをtrueにしてデータを表示させています。 DataGridViewのRowCountを設定すると、件数が多い(数万件以上)場合に、CPUの使用率が高くなり、動作が遅くなってしまいます。 例: Dgview.RowCount = 100000; 画面に表示されているセルに関係なく、すべてのセルについてCellValueNeededイベントが発生してしまっているようなのですが、その原因がつかめません。 画面に表示されているセルのCellValueNeededが優先的に発生するようで、データ自体は正常に表示されます。 しかし、画面上のセル分のイベントが終わると、また続きからCellValueNeededイベントが再開されてしまいます。 セルの値はDataTable変数に一度値を格納したものをセルごとに取得しています。 試しに、100000件のDataGridViewのみを表示するプログラムを作成した場合、正常に動作しました。 現在作成中のプログラムでのバグ?のようです。 他に特別なイベントが発生している形跡は自分の確認した限りでは見られません。 説明下手で申し訳ありませんが、原因のわかる方、回答お願いします。