如何在 C# 中获取 dataGridView 中所有 Combobox 列的显示成员?

Posted

技术标签:

【中文标题】如何在 C# 中获取 dataGridView 中所有 Combobox 列的显示成员?【英文标题】:How to get Display Member of All Combobox columns in dataGridView in C#? 【发布时间】:2014-02-27 17:00:25 【问题描述】:

我正在开发具有 dataGridView 的 Windows 窗体 GUI。在 dataGridView 我有两列。第一个列类型是保险 ID 和名称的 ComboBoxColumn,第二个是保险代码编号的文本框。 组合框列的数据源已经设置好并且可以工作。 这是表单加载的代码:

DataGridViewComboBoxColumn Cb = new DataGridViewComboBoxColumn();
DataTable dt = new DataTable();
dt = _clsT.Fill_In_DataTable("SELECT insuranceId, insuranceName FROM insurance", false);
Cb.DataSource = dt;
Cb.Name = "insurance";
Cb.DisplayMember = "insuranceName";
Cb.ValueMember = "insuranceId";
dgv.Columns.Insert(0, Cb); 
dgv.Refresh();

加载表单后,我可以从组合框项中填充 dgv(DataGridView) 行,最后我想通过单击按钮获取所有行的信息。 这是我在 btn 点击事件上获取行数据的代码

if (dgv.Rows.Count > 0)

   for (int i = 0; i < dgv.Rows.Count; i++)
   
      lst1.Items.Add(dgv.Rows[i].Cells[0].Value.ToString());
      lst2.Items.Add(dgv.Rows[i].Cells[1].Value.ToString());
      //lst3.Items.Add(dgv.Rows.Cell[0] get displayMember.ToString()  ) //what i must to do?

   
 

好的,我可以从这里获得 insuranceId 和 insuranceCodeNumber 但如何获得 displayMembers ? 请帮助我...谢谢

【问题讨论】:

【参考方案1】:

试试这个

dgv.Rows[i].Cells[0].FormattedValue.ToString();
dgv.Rows[i].Cells[1].FormattedValue.ToString();

【讨论】:

以上是关于如何在 C# 中获取 dataGridView 中所有 Combobox 列的显示成员?的主要内容,如果未能解决你的问题,请参考以下文章

c# datagridview 如何选中行,以及怎么获取选中行的数据

在c#中编辑datagridview后如何更新我的数据库

c# DataGridView中,选中了多个行,如何获取选中的每一行的数据,或者每一行的索引?

c# DataGridView中,选中了多个行,如何获取选中的每一行的数据,或者每一行的索引?

C# winform程序中 如何获取和设置dataGridView1的垂直滚动条当前位置?

如何在C#中 双击datagridview1中的一行数据,添加到新的datagridview2中。 B/C VS2010