使用DataGridView.DataSource = DataSet.Table时如何修改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 :(得分: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
答案 1 :(得分:0)
您无法修改列。 如果你想要一个ComboBoxColumn,你需要先将它添加到DataGridView。在绑定之前添加组合框列并设置其DataPropertyName,以便网格将正确的数据绑定到该列而不是创建新列。
另一种方法是,如果可以的话,使用强类型的DataSet,因为它会自动为你的bool列创建CheckBoxColumns ......