2012-05-04 31 views
1

Data Grid View列にデータを追加したいと考えています。DataGridView列にデータを追加する

私は実行時にカラムを追加していますが、それにデータを追加したいと思います。

また、ウィンドウに合わせて列のサイズを変更することも可能です。

例えば-場合は10列があるその後、10列が5列があるならば、5列はここでウィンドウ

+0

新しい列を追加したときにグリッドにデータがありますか?もしそうなら、そのデータはどのようにそこに到達するのですか、グリッドはバインドされていないか、データソースにバインドされていますか? –

+0

@DavidHallグリッド内にデータがありません。グリッドが空です。ここに列を追加してその列に値を追加する必要があります。値はリストにあります –

+0

@DavidHallリストビューそれだけでいいです。私はちょうどデータを表示する必要があります...ありがとうアドバンス –

答えて

1

を埋める必要があり、他のウィンドウを埋める必要がありますが、あなたが望むものをやって簡単な例のコードです。 1つのDataGridViewコントロールがあるシンプルなフォームのコードの背後にあります。

public partial class Form1 : Form 
{ 

    public Form1() 
    { 
     InitializeComponent(); 

     BindingList<BindingClass> data = new BindingList<BindingClass>() { 
      new BindingClass { Name = "joe", Surname = "bloggs" }, 
      new BindingClass { Name = "sue", Surname = "bloggs" } }; 
     dataGridView1.DataSource = data; 
     dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; 
    } 

} 

    public class BindingClass 
    { 
     public string Name { get; set; } 
     public string Surname { get; set; } 
    } 

} 

自分のデータに使用するカスタムオブジェクトを作成しました。これがあなたのリストになります。 DataGridViewのデータソースにバインドされているリストのすべてのパブリックプロパティは列として作成され、不要な列を非表示にすることができます。

私の例ではList<T>ではなくBindingList<T>を使用するように選択しました。これは編集を可能にし、並べ替えをサポートするために一般的に好まれます。

グリッドのAutoSizeColumnsModeFillに設定しました。各列の幅や塗りつぶしのプロパティを個別に設定するなど、いくつかのオプションがあり、これらはデザイナーから設定することもできます。


それは自動データバインディングを提供していませんので、私はListViewを使用することはお勧めしません。

関連する問題