2010-12-13 76 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,因爲它會自動爲你的布爾列創建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