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

时间:2014-02-27 17:00:25

标签: c# winforms datagridview combobox

我正在使用具有dataGridView的Windows窗体GUI。在dataGridView中,我有两列。第一列类型是保险ID和名称的ComboBoxColumn,第二列是保险代码编号的文本框。 ComboBox Column的数据源已经设置并运行。
这是表单加载的代码:

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 个答案:

答案 0 :(得分:2)

试试这个

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