下拉值未在 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 项目,看看是否可行。