C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.66761 の関連記事表示

<< 0 >>
■66761  Re[1]: DataGridViewの2回目が遅いのはなぜ? 【初心者】
□投稿者/ 魔界の仮面弁士 -(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 に戻す。
記事No.66759 のレス /過去ログ113より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -