将 DataGridView 的 Column 的数据插入 Combo Box
Posted
技术标签:
【中文标题】将 DataGridView 的 Column 的数据插入 Combo Box【英文标题】:Insert DataGridView's Column's data into Combo Box 【发布时间】:2014-06-18 07:18:15 【问题描述】:我正在编写这个程序,我需要将特定列的数据存储到组合框中。数据库表中只有一列,需要在 Combo Box 中填充。
我正在尝试的代码是;
private void populateList()
foreach (DataGridViewRow row in dataGridView1.Rows)
cmbUserNames.Items.Add(row.Cells[2].Value.ToString());
我创建了一个 DataGridView,它在表单启动时从数据中填充自己。我已经创建了上述方法,当我在 FormLoad 事件中调用它时,当 DataGridView 加载后,它会引发异常。
我期待解决方案。谢谢!
【问题讨论】:
您实际上得到了什么异常?既然你说数据库中只有一列,为什么是 Cells[2]? 为什么必须在comboBox
中填充数据时需要DataGridView
?
为什么不能直接从数据库的表中加载ComboBox
?
亲爱的中国!我也尝试输入 [0], [1] 但它仍然引发异常。例外是“索引超出范围。必须是非负数且小于集合的大小”。表中已有一条记录。
亲爱的汗!我认为从 DataGridView 中检索数据会很“容易”。如果有任何其他方法可以将数据放入组合框中,请告诉我。谢谢!
【参考方案1】:
您可以尝试使用以下替代方法:
private void populateList()
cmbUserNames.DataSource = yourDataSource;
//In the event you need specify column to be displayed/or value add the following
cmbUserNames.ValueMember = "ColumnToBevalue";
cmdUserNames.DisplayMember = "ColumnToDisplay";
【讨论】:
以上是关于将 DataGridView 的 Column 的数据插入 Combo Box的主要内容,如果未能解决你的问题,请参考以下文章
DataGridView ComboBox Column:从下拉列表中选择后更改单元格值?
急!datagridview里添加了datagridviewImageColumn,想把数据库里的image列(存的是绝对路径)显示成图片