我有DataGridView dgvData,它有两列 .
1列是DataGridViewComboBoxCell的类型,我将此列链接到人员的DataSource .
人们有名称和ID属性,因此,我将第一列ValueMember作为“ID”,将DisplayMember作为“名称” .
现在,我想将DataTable链接到DataGridView . DataTable有2列,PeopleName和PeopleCallPhone .
我希望绑定将PeopleName与我的DataGridView的第一列匹配,并将CallPhone绑定到我的DataGridView中的第二列 .
在此之后,我希望当我在我的整个DataGridView上循环以仅查找我的第一列的值时,我的意思是人员的ID(来自第1列的数据源 - 人员)
你能帮帮我们吗?
1 回答
我们假设以下数据库设置:
另外,让我们假设您的数据结构是:
为了使
DataTable
列"PeopleName"
与来自people
的DataGridViewComboBoxColumn
一致,您必须设置DataGridViewComboBoxColumn.DataPropertyName
. 由于DataTable
列中的值与People.Name
匹配,因此您必须在DataGridViewComboBoxColumn.ValueMember
上设置该属性 . 例如:结果:
至于你的第二个问题,要在循环遍历每一行时找到每个条目的ID,你首先要获取ComboBoxColumn的源代码 . 然后,您可以遍历每一行并使用第一列中的值,在源中查找该值的关联ID . 例如:
输出: