C#显示空白项目的组合框
本文关键字:组合 项目 显示 空白 | 更新日期: 2023-09-27 18:26:40
我正在用C#编写一个组合框,由于某种原因,下拉列表中的项目没有文本。当我选择了一个项目时,它会显示在组合框文本字段中(每当我单击下拉按钮时,下拉列表总是空白的)。数据源似乎绑定正确,因为当我选择项目时会返回正确的值,并且下拉列表的大小将根据数据源的项目数量而变化。除了我的下拉列表中似乎填充了一堆空字符串之外,一切看起来都很好,但事实显然不是这样,因为一旦选择了一个项目,就会显示正确的文本。
这是相关代码:
if (list.Count > 0)
{
cboCustomers.DisplayMember = "Name";
cboCustomers.DataSource = list;
cboCustomers.ValueMember = "ID";
cboCustomers.SelectedIndex = 0;
}
我一直在寻找答案,但在任何地方都找不到。。。我确信这确实很简单,但我想不通。我发现的最接近的问题是建议在数据源之前设置显示成员,但这显然不起作用。
该列表是通过数据库查询填充的。这将在keyUp上运行,其想法是,当用户根据给定的信息键入时,会填充列表。所以,如果我写"S",我会得到一个下拉框,所有客户都以"S"开头。
如果您的绑定中没有任何异常,您可能会受到ComboBox的DrawMode
属性的影响,该属性可能设置为OwnerDrawFixed
或OwnerDrawVariable
。将其设置为Normal
,情况就会好转。
一旦选择了一个项目,就会显示正确的文本。
与背景颜色相同的前景色将产生与您所看到的相同的结果。