■66761 / ) |
Re[1]: DataGridViewの2回目が遅いのはなぜ? 【初心者】 |
□投稿者/ 魔界の仮面弁士 (225回)-(2013/05/22(Wed) 21:06:42)
|
■No66759 (とんちき さん) に返信 > DataGridViewを使用して1000行の表を作成しているのですが、 データバインドを利用しましょう。
> For 行 = 0 To データ件数 Step 1 速度は別として、複数回実行時に、本当に期待する結果になっていますか?
RowCount を修正しているわけでも、.Rows.Clear() しているわけでもないので、 2回目は 1001〜2000行、3回目は2001〜3000行目を追加することになりますが、 現状のコードだと、データは常に先頭 1000行にしか書き込まれていません。
> 2回目に実行するとなぜかすごく遅いです。 今回は、「.AutoSizeColumnsMode = AllCells」が原因でしょう。 もしもデザイン時に AllCells 指定してから実行すれば、1 回目から遅くなるはずです。
同様に、RowHeadersWidthSizeMode も遅くなる要因となります。
> DataGridViewの性質(仕様)なのか,コードの記述が悪いのかわかりません。
(案1)AutoSizeColumnsMode プロパティを AllCells に設定する代わりに、 AutoResizeColumns(AllCells) メソッドの呼び出しで代用する。
(案2)データを追加している最中は None にしておき、 データを書き込み終わってから、改めて AllCells に戻す。
|
|