2010-12-13 6 views
1

Как изменить DataGridViewColumn в DataGridView при использовании DataGridView.DataSource = DataSet.Table?Использование DataSet с DataGridView и изменение 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 для ваших столбцов bool и т. Д.

0

Используйте событие AutoGeneratingColumn для datagrid. Это даст вам дескриптор создаваемого столбца, и вы можете изменить столбец по мере необходимости. Ниже кода прямо из файла VS2010 Help:

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 
Смежные вопросы