2010-12-13 4 views
1

DataGridView.DataSource = DataSet.Tableを使用している場合、DataGridViewのDataGridViewColumnを変更するにはどうすればよいですか?DataGridViewでのDataSetの使用とDataGridViewColumnの変更

OleDbConnection connection = new OleDbConnection(...); 
OleDbDataAdapter adpCustomer = new OleDbDataAdapter(..); 
DataSet dsCustomer = new DataSet(); 
adpCustomer.Fill(dsCustomer, "customer"); 
DataGridView dgv = new DataGridView(); 
dgv.DataSource = dsCustomer.Tables[0]; 

// TODO: modify columns to use combobox, checkbox etc.. how? 

ありがとうございます。

答えて

0

列を変更することはできません。 ComboBoxColumnが必要な場合は、その前にDataGridViewに追加する必要があります。バインドしてDataPropertyNameを設定する前に、コンボボックスの列を追加して、新しいデータを作成するのではなく、グリッドが正しいデータをその列にバインドするようにします。

強力な型のDataSetを使用することができれば、これは、bool列などのCheckBoxColumnsを自動的に作成するためです。

0

DataGridのAutoGeneratingColumnイベントを使用します。これにより、作成されている列のハンドルが表示され、必要に応じて列を変更できます。以下のコードはVS2010からまっすぐに出るヘルプファイル:

Private Sub DG1_AutoGeneratingColumn(ByVal sender As Object, ByVal e As DataGridAutoGeneratingColumnEventArgs) 
    Dim headername As String = e.Column.Header.ToString() 
     If headername = "FirstName" Then 
     e.Column.Header = "First Name" 
    End If 
End Sub 
関連する問題