注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。
通常は、DataGridViewのDataSourceプロパティにデータソースを設定すると、DataGridViewに自動的に列が追加されます。しかし、指定した列だけを追加したい場合や、勝手に追加されるDataGridViewTextBoxColumnではなく、DataGridViewComboBoxColumnなどを使用したいという場合もあります。このような場合は、DataGridView.AutoGenerateColumnsプロパティをFalseにすることにより、列が自動的に作成されないようにして、手動で列を追加することができます。
手動で列を追加する手順を簡単にまとめると、次のようになります。
以下の例では、DataGridViewのDataSourceプロパティにデータソースを設定した時に列が自動的に追加されないようにして、その後"Column1"列を手動で追加しています。なお、BindingSource1にはすでにデータソースが設定されているものとします。
'列が自動的に作成されないようにする DataGridView1.AutoGenerateColumns = False 'データソースを設定する DataGridView1.DataSource = BindingSource1 'DataGridViewTextBoxColumn列を作成する Dim textColumn As New DataGridViewTextBoxColumn() 'データソースの"Column1"をバインドする textColumn.DataPropertyName = "Column1" '名前とヘッダーを設定する textColumn.Name = "Column1" textColumn.HeaderText = "Column1" '列を追加する DataGridView1.Columns.Add(textColumn)
//列が自動的に作成されないようにする DataGridView1.AutoGenerateColumns = false; //データソースを設定する DataGridView1.DataSource = BindingSource1; //DataGridViewTextBoxColumn列を作成する DataGridViewTextBoxColumn textColumn = new DataGridViewTextBoxColumn(); //データソースの"Column1"をバインドする textColumn.DataPropertyName = "Column1"; //名前とヘッダーを設定する textColumn.Name = "Column1"; textColumn.HeaderText = "Column1"; //列を追加する DataGridView1.Columns.Add(textColumn);
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。