我正在用 C# 编写一个组合框,由于某种原因,下拉列表中的项目没有文本。当我选择了一个项目时,它会显示在组合框文本字段中(每当我单击下拉按钮时,下拉列表始终为空白)。数据源似乎绑定正确,因为当我选择项目时会返回正确的值,并且下拉列表的大小将根据数据源拥有的项目数量而变化。一切看起来都很好,除了我的下拉菜单似乎填充了一堆空字符串,这显然不是,因为一旦选择了一个项目,就会显示正确的文本。
这是相关代码:
if (list.Count > 0)
{
cboCustomers.DisplayMember = "Name";
cboCustomers.DataSource = list;
cboCustomers.ValueMember = "ID";
cboCustomers.SelectedIndex = 0;
}
我一直在寻找这个问题的答案,但在任何地方都找不到......我确信这很简单,但我无法弄清楚。我发现的最接近的问题有一个答案,建议在数据源之前设置显示成员,这显然不起作用。
该列表是从数据库查询中填充的。这将在 keyUp 上运行,其想法是根据给定的信息在人员键入时填充列表。因此,如果我写“S”,我会得到一个带有下拉列表的组合框,其中所有客户端都以“S”开头。