.net修行中37(DataGridViewの描画を速くする)
こんにちは、モンクです。
DataGridView(以下dgv)の描画を簡単に速くする方法を2点紹介します。
- 列の幅、行の高さ設定を自動にしない
- データをdgvに配置する間、非表示にする
以下の設定をすると、列幅、行高を自動で設定している時より、ずっと早くなります。
描画する件数が多いほど、効果は高いです。
<br /> dgv.AllowUserToResizeRows = False<br /> dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None<br /> dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None<br /> dgv.RowTemplate.Height = 10<br />
dgvのVisibleをFalseにする、またはFormのVisibleをFalseにすることで、データをdgvに配置するときの描画(ディスプレイへの表示)がないため、処理速度工場が見込めます。
dgvへの配置が終わったら、VisibleをTrueにします。
後者は描画に限らず、複雑な処理をしている最中でも効果があるので使いどころは多いです。
ただし、画面効果が犠牲になります(いちいち画面が点滅する感じになる)ので、
エンドユーザや発注者がいる場合は、その要望をよく聞きましょう。
最近のコメント