C# 组合框中填充的是valueMember,而不是DataGridView中的DisplayMember?

C# 组合框中填充的是valueMember,而不是DataGridView中的DisplayMember?,c#,winforms,datagridview,C#,Winforms,Datagridview,我正在像这样填充组合框 cbDepartment.DataSource = SQLObject.Departments; cbDepartment.DisplayMember = "Name"; cbDepartment.ValueMember = "Id"; EmployeeGrd.DataSource = SQLObject.sp_ViewEmployee(); 数据网格视图是这样的 cbDepartment.DataSource = SQ

我正在像这样填充组合框

cbDepartment.DataSource = SQLObject.Departments;
            cbDepartment.DisplayMember = "Name";
            cbDepartment.ValueMember = "Id";
EmployeeGrd.DataSource = SQLObject.sp_ViewEmployee();
数据网格视图是这样的

cbDepartment.DataSource = SQLObject.Departments;
            cbDepartment.DisplayMember = "Name";
            cbDepartment.ValueMember = "Id";
EmployeeGrd.DataSource = SQLObject.sp_ViewEmployee();
组合框中填充的是另一个表,它是我的查找表“Department”,它只包含“Name”和“Id”,而DataGridView中填充的存储过程来自另一个表,它只包含Department表的“Id”。当我从数据网格视图中填充组合框时,它在组合框中填充“Id”,我需要填充“Name”不是“Id”任何人都能帮上忙吗

我正在像这样填充组合框

 comboBox1.SelectedText = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();

DataGridView单元格有一个属性
FormattedValue
,您需要在此处使用该属性

comboBox1.SelectedText = dataGridView1.SelectedRows[0].Cells[1].FormattedValue.ToString(); 

你能解释一下为什么你有最后一行代码吗?这与这个问题有什么关系?您所显示的一切看起来都很好-datagridview中的combobox列应该显示来自该数据源的name from属性。您可能需要设置DataPropertyName,但我认为这不会影响显示。是的,数据源的整个要点是您不必填写绑定控件注释,看看会发生什么。combobox不在网格中,它是外部的,我必须从datagrid填充这个combobox,最后一个是我现在正在做的,但它不是满的,因为它的赋值成员我需要用显示成员填充combobox。@TonyHopkinson很抱歉,我没收到你的消息…Id看起来不奇怪,combobox应该用文本(“名称”)填充并没有Id,这个人看不到查找表,他需要在前端工作,而且他对数据库一无所知。