2010-12-07 11 views
4

DataGridView要素を持つ単純なフォームがあります。コンストラクタでグリッド列が追加され、DataTableが設定されます。 AutoResizeColumns()を呼び出すと、列のサイズは変更されません。ボタンイベント。 コードは、この(簡体字)のようになります。DataGridView列の強制的なサイズ変更

public MyDialog() 
{ 
    InitializeComponent(); 
    dgv.Columns.AddRange(SomeClass.MyColumns); 
    dgv.DataSource = SomeClass.Table; 
    // This doesn't work: 
    dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); 
} 

AutoResizeColumns()は、一般的にではなく、その時点で動作します。 Btw、要求/記述されたような動作を実装するには、これを必要とします。here何か案は?

答えて

7

また、サイズ変更が行われる前に、オブジェクトがビジブルである必要があります。何らかの理由で、絵が期待どおりに表示されません。

+0

私は期待したものではありませんが、それは問題を解決しました。ありがとう。 – AndOne

+0

はい、私はちょうど私が働いているプロジェクトで自分自身を確認しました – Taegost

0

DataGridViewにデータがある場合は、AutoResizeColumns()を使用する必要があります。それが理由です。 SomeClass.Tableは、電話する前にデータを取得してください。AutoResizeColumns()

+0

を、それが設定されている場合のDataTableが既に満たされています。 – AndOne

11

私は自動サイズ調整モードを設定するまで、私は同じ問題を持っていた:

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 
+1

'dgv.'とセミコロンを追加できますか? – Superbest

関連する問題