如何将项目添加到 DataGridView ComboBoxColumn?

Posted

技术标签:

【中文标题】如何将项目添加到 DataGridView ComboBoxColumn?【英文标题】:How to add items to a DataGridView ComboBoxColumn? 【发布时间】:2013-12-10 15:37:33 【问题描述】:

我在数据网格视图中填充comboxcolumn 时遇到问题。这是我的问题的简要说明。

我在 datagrid 视图中有一个名为 dgvRightsColumn 的组合列,在 SQL 中有一个名为 Rights 的表。我想用 Rights Table 中的 RightsNames 填充这个 dagaridview 组合框。

DataGridViewComboBoxColumn dgvRightsColumn = new DataGridViewComboBoxColumn();

SqlCommand fillRights = new SqlCommand("SELECT * FROM [Rights]", sqlConnection);
SqlDataReader readerRights = fillRights.ExecuteReader();

while (readerRights.Read())

    dgvRightsColumn.Items.Add(Convert.ToString(readerRights["RightName"]));


readerRights.Close();

【问题讨论】:

您遇到了什么问题? 是winform吗?还是网络表单? 感谢您回复@rae1n。此代码未在组合框中添加项目。当我运行这段代码时。组合框仍为空白 @SudhakarTillapudi 它是 C# 中的一个 winform 看起来好像您使用的是没有 DataGridView 的 DataGridViewComboBoxColumn。您的组合实例已创建,然后在 GC 中消失。顺便说一句:您在寻找 ComboBox 吗?看一下数据绑定机制。它们让生活更轻松。 【参考方案1】:

问题:您只是为 DataGridViewComboBoxColumn 创建对象,但没有指定要从 Gridview 考虑的实际列作为 ComboBox 的第 3 列。

解决方案:你需要castDataGridviewDataGridViewComboBoxColumn所需的列来插入项目。

替换这个:

DataGridViewComboBoxColumn dgvRightsColumn = new DataGridViewComboBoxColumn();

有了这个:

DataGridViewComboBoxColumn dgvRightsColumn= dgvTasksRights.Columns[2] as DataGridViewComboBoxColumn;

注意:在执行sqlConnection命令之前,您并没有打开SqlConnectoion对象sqlConnection。您需要打开它,如下所示:

sqlConnection.Open();

完整代码: 试试这个:

SqlCommand fillRights = new SqlCommand("SELECT * FROM [Rights]", sqlConnection);
sqlConnection.Open();
SqlDataReader readerRights = fillRights.ExecuteReader();

DataGridViewComboBoxColumn dgvRightsColumn= dgvTasksRights.Columns[2] as DataGridViewComboBoxColumn;
while (readerRights.Read())
                
 dgvRightsColumn.Items.Add(Convert.ToString(readerRights["RightName"]));
  
readerRights.Close();

【讨论】:

谢谢...我弄错了。现在它正在工作。顺便说一句,我刚刚发布了遇到问题的选定代码,SqlConnection 已经打开:-p。再次感谢捆绑。 :-) @AzeemKhalid:不客气 :),我很高兴能帮到你。祝你有美好的一天。 我可以和你聊聊吗...?

以上是关于如何将项目添加到 DataGridView ComboBoxColumn?的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据添加到 DataGridView

DataGridview中的数据如何导出到Excel中

如何将 datagridview 行添加到 xml 文件?

如何将按钮添加到 DataGridView 中的列

将绑定的组合框添加到 datagridview

C#如何保留datagridview中的原来数据并将新的数据添加到datagridview中?