将DataSet与DataGridView一起使用并修改DataGridViewColumn

时间:2010-12-13 16:04:17

标签: .net datagridviewcolumn

使用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?

提前致谢。

2 个答案:

答案 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 ......