【发布时间】:2014-01-24 12:56:34
【问题描述】:
我有一个用 C# 编写的 WinForms 应用程序,其中我有一个绑定到从 SQL 数据库填充的数据源的 DataGridView。
我的代码如下-
string sqlText = "SELECT columns FROM table;";
SqlCommand sqlCom = new SqlCommand(sqlText);
DataTable table = new DataTable();
SqlConnection linkToDB = DatabaseConnection();
sqlCom.Connection = linkToDB;
linkToDB.Open();
using (linkToDB)
using (SqlDataAdapter adapter = new SqlDataAdapter(sqlCom))
{
adapter.Fill(table);
}
dataMyGridView.DataSource = table;
我已尝试向其中添加一个 DataGridViewComboBox,如下所示 -
DataGridViewComboBoxColumn colBox = new DataGridViewComboBoxColumn();
colBox.DataSource = GetListOfValues();
dataMyGridView.Columns.Add(colbox);
现在这可以工作了,但它使用 ComboBox 添加了一个全新的列,而不是将现有列之一转换为 ComboBox。
谁能解释我如何将 dataMyGridView 中的现有 Column 转换为 ComboBox?
GetListOfValues 函数只返回一个包含 ComboBox 字段所有可能值的 DataTable。它正确填充,但就像我说的,它是一个全新的列。如何将添加的 ComboBox 引用到“表”中的相关属性。
【问题讨论】:
-
不确定这是否真的有效,但您可以尝试在设计模式下添加两列(文本框和组合框),并在执行代码时删除绑定数据后不需要的列.
-
嗨,你到底想要什么......就像在性别的情况下,你想要一个带有男性和女性选项的下拉菜单,当你从表格显示到网格时,在网格中你想要组合框而不是文本值......对吗? ?
标签: c# winforms datagridview