2011-11-13 18 views
0

私は以下のコードを使用して、セルのデータが十分に長いため、gridview内の複数行にデータを表示しています。表示されたセルにグリッドビューを自動サイズ変更

Grid.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 

ですが、このプロパティのために、データベースが大きすぎるため、読み込みに時間がかかりすぎます。

ので、私は

private void Form4_Load(object sender, EventArgs e) 
     { 
      Grid.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
      Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells; 
     } 

private void Grid1_Scroll(object sender, ScrollEventArgs e) 
     { 

      Grid1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedHeaders; 
      Grid1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells; 
     } 

、のようでしたが、私は、キーボードからボタンをページを下に押すと、それが正常に動作しますが、私は、マウスを使用してスクロールするときに、データや異常GridViewのディスプレイのスクロールバーをロードするためにはもう少し時間がかかります。

私を助けてください。

答えて

0

AutoSizeRowsModeを設定すると、グリッドの動作を設定します。 は、代わりにGrid1_Scrollイベントにしようとして、それを2回やって調整のアクションを実行:あなたはまた、Load方法以下の考慮も

Grid1.AutoResizeRows(DataGridViewAutoSizeRowsMode.DisplayedCells); 

private void Form4_Load(object sender, EventArgs e) 
{ 
    Grid1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
    Grid1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; 
    Grid1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells); 
} 

をそれは、一度だけの行を調整するのに時間がかかります負荷時。

関連する問題