C# 在c中将数据集绑定到组合框后,如何避免在组合框中获取system.data.datarowview#

C# 在c中将数据集绑定到组合框后,如何避免在组合框中获取system.data.datarowview#,c#,winforms,combobox,dataset,C#,Winforms,Combobox,Dataset,我的C代码中有一个组合框,它从数据库中获取值。数据库数据首先绑定到数据集,然后设置为组合框。我想在单击按钮后清除组合框,并在单击另一个按钮时再次获取数据 cbVmUserName.DataSource = ds_4.Tables["VmUserNames"]; cbVmUserName.ValueMember = "vm_username"; cbVmUserName.SelectedIndex = 0; 这就是我如何使用名为ds_4的数据集将数据绑定到组合框的方法。 然后,我尝试使用以下代码

我的C代码中有一个组合框,它从数据库中获取值。数据库数据首先绑定到数据集,然后设置为组合框。我想在单击按钮后清除组合框,并在单击另一个按钮时再次获取数据

cbVmUserName.DataSource = ds_4.Tables["VmUserNames"];
cbVmUserName.ValueMember = "vm_username";
cbVmUserName.SelectedIndex = 0;
这就是我如何使用名为ds_4的数据集将数据绑定到组合框的方法。 然后,我尝试使用以下代码行清除组合框数据。 cbVmUserName.DataSource=null; 但当我再次尝试获取数据时,我得到的是system.data.datarowview作为组合框项。
如何解决此问题并再次获取真实数据?

我认为您缺少显示成员设置来说明实际显示的值

 cbVmUserName.DisplayMember = "DisplayValue";
您还可以使用以下命令从组合框中删除所有项目

 cbVmUserName.Items.Clear();

希望有帮助。

使用此方法后,我遇到了相同的问题eve.n。后来,我通过将数据集设为空来解决这个问题。例如:ds_4=null;设置为空后,我们可以毫无问题地清除项目。