我在Windows应用程序中使用数据网格控件。我想添加一列作为组合框,它将从数据表中加载下拉值。 下面我用来创建它的代码。
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;
}
当我尝试运行它时它给了我带有下拉列表的组合框,但没有加载项目的值。 有人可以帮忙吗?
答案 0 :(得分:0)
只是编译了你的代码,似乎一切都按预期工作了!
您可以尝试手册
this.Refresh()
但我认为你的问题出在其他地方。尝试一个新的visual studio项目,其代码与上面完全相同,看看是否有效。