下拉值未在 winform 的组合框中列出
Drop down values are not getting listed in combobox in winform
我在 windows 应用程序中使用数据网格控件。我想添加一列作为组合框,它将从数据 table 中加载下拉值。
下面是我用来创建它的代码。
DataTable Dt = new DataTable("Table1");
Dt.Columns.Add("Id");
Dt.Columns.Add("Value");
Dt.Rows.Add(new object[] { "1", "Item1" });
Dt.Rows.Add(new object[] { "2", "Item2" });
dataGridView1.AllowUserToAddRows = false;
dataGridView1.ColumnCount = 4;
dataGridView1.Columns[0].Name = "col1";
dataGridView1.Columns[1].Name = "col2";
dataGridView1.Columns[2].Name = "col3";
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
cmb.HeaderText = "Item";
cmb.Name = "cmb";
cmb.MaxDropDownItems = 4;
cmb.DataSource = Dt;
cmb.DisplayMember = "Value";
dataGridView1.Columns.Add(cmb);
while (reader.Read())
{
int number = dataGridView1.Rows.Add();
dataGridView1.Rows[number].Cells[0].Value = reader[0].ToString();
dataGridView1.Rows[number].Cells[1].Value = reader[1].ToString();
dataGridView1.Rows[number].Cells[2].Value = reader[2].ToString();
DataGridViewComboBoxCell ComboColumn = (DataGridViewComboBoxCell)(dataGridView1.Rows[number].Cells[4]);
//ComboColumn.DataSource = Dt;
//ComboColumn.DisplayMember = "Value";
ComboColumn.Selected = true;
}
当我尝试 运行 这个时,它会给我带下拉列表的组合框,但其中没有加载任何项目值。
有人可以帮忙吗?
刚刚编译了您的代码,似乎一切都按预期工作!
你可以试试手册
this.Refresh()
但我认为您的问题出在其他地方。使用与上面完全相同的代码尝试一个新的 visual studio 项目,看看是否可行。
我在 windows 应用程序中使用数据网格控件。我想添加一列作为组合框,它将从数据 table 中加载下拉值。 下面是我用来创建它的代码。
DataTable Dt = new DataTable("Table1");
Dt.Columns.Add("Id");
Dt.Columns.Add("Value");
Dt.Rows.Add(new object[] { "1", "Item1" });
Dt.Rows.Add(new object[] { "2", "Item2" });
dataGridView1.AllowUserToAddRows = false;
dataGridView1.ColumnCount = 4;
dataGridView1.Columns[0].Name = "col1";
dataGridView1.Columns[1].Name = "col2";
dataGridView1.Columns[2].Name = "col3";
DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
cmb.HeaderText = "Item";
cmb.Name = "cmb";
cmb.MaxDropDownItems = 4;
cmb.DataSource = Dt;
cmb.DisplayMember = "Value";
dataGridView1.Columns.Add(cmb);
while (reader.Read())
{
int number = dataGridView1.Rows.Add();
dataGridView1.Rows[number].Cells[0].Value = reader[0].ToString();
dataGridView1.Rows[number].Cells[1].Value = reader[1].ToString();
dataGridView1.Rows[number].Cells[2].Value = reader[2].ToString();
DataGridViewComboBoxCell ComboColumn = (DataGridViewComboBoxCell)(dataGridView1.Rows[number].Cells[4]);
//ComboColumn.DataSource = Dt;
//ComboColumn.DisplayMember = "Value";
ComboColumn.Selected = true;
}
当我尝试 运行 这个时,它会给我带下拉列表的组合框,但其中没有加载任何项目值。 有人可以帮忙吗?
刚刚编译了您的代码,似乎一切都按预期工作!
你可以试试手册
this.Refresh()
但我认为您的问题出在其他地方。使用与上面完全相同的代码尝试一个新的 visual studio 项目,看看是否可行。