- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在填充的 ComboBox,其中 ComboBox.Items 中的每个对象都是一个对象列表。目前,ComboBox 为每个项目显示“(Collection)”。
是否可以让 ComboBox 显示 List 中包含 ComboBox 的 Item 的第一个对象的成员?
我目前正在通过以下方式填充 ComboBox 项目:
foreach(List<SorterIdentifier> sorterGroup in m_AvailableSorterGroups)
{
// There are conditions that may result in the sorterGroup not being added
comboBoxSorterSelect.Items.Add(sorterGroup);
}
//comboBoxSorterSelect.DataSource = m_AvailableSorterGroups; // Not desired due to the comment above.
//comboBoxSorterSelect.DisplayMember = "Count"; //Displays the Count of each list.
我想在 ComboBox 中显示的值可以通过以下方式引用:
((List<SorterIdentifier>)comboBoxSorterSelect.Items[0])[0].ToString();
((List<SorterIdentifier>)comboBoxSorterSelect.Items[0])[0].DisplayName; // public member
最佳答案
您可以创建一个对象包装器并覆盖 ToString()
方法:
public class ComboBoxSorterIdentifierItem
{
public List<SorterIdentifier> Items { get; }
public override string ToString()
{
if ( Items == null || Items.Count == 0) return "";
return Items[0].ToString();
}
public BookItem(List<SorterIdentifier> items)
{
Items = items;
}
}
您也应该覆盖 SorterIdentifier.ToString()
以返回您想要的内容,例如 DisplayName
。
现在您可以像这样在组合框中添加项目:
foreach(var sorterGroup in m_AvailableSorterGroups)
{
item = new ComboBoxSorterIdentifierItem(sorterGroup);
comboBoxSorterSelect.Items.Add(item);
}
例如,要使用所选项目,您可以这样写:
... ((ComboBoxSorterIdentifierItem)comboBoxSorterSelect.SelectedItem).Item ...
关于c# - 是否可以将 ComboBox DisplayMember 设置为列表中对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58203681/
我有一个列表框,其中绑定(bind)了一个数据表。数据表有两列,“CMM”和“位置”。 “CMM”是一个/两位整数,用作列表框的 DisplayMember,“Location”是一个一位整数,等于
假设我正在使用这样的数据绑定(bind): List Entities = entityBinding.DataSource = Entities; lstEntities.DisplayMembe
我正在尝试获取一个 ListBox 来显示 Accommodation 表的多行的串联。 因为我无法编辑数据源,所以我准备了一个类 AccommodationEntity,它包含原始的 Accommo
我在 Windows 窗体上有一个组合框,我试图用客户端列表填充它。我有一个包含三个值的元组列表 ( var clients = new List>(); ) 我正在从返回 clientID 的 SQ
我使用 Windows 窗体。我想要来自基类的 DisplayMember 相等属性?我有课 public class MyViewModel { public int Id { get; s
我需要在一个组合框中显示多条数据,但我不知道该怎么做。 这是我正在努力工作的代码: innerBox.DisplayMember = @"t => t.TenantName + ""\
我有一个正在填充的 ComboBox,其中 ComboBox.Items 中的每个对象都是一个对象列表。目前,ComboBox 为每个项目显示“(Collection)”。 是否可以让 ComboBo
这个问题涉及一个极小的 Winforms GUI。让大家知道我具有数据绑定(bind)和 INotifyPropertyChanged 的基本知识,并且在 WPF 的 ViewModel 中使用了
我有这个方法可以将 Conta 实例添加到名为“comboContas”的 ComboBox 中: public void AdicionaConta(Conta novaConta) { c
我将 DatagridViewComboBoxColumn 绑定(bind)到数据源,我想在列表和显示成员中显示“名字”+“姓氏”。我该怎么做? 最佳答案 向公开“名称”的数据源添加一个属性。让“姓名
我目前对 C# 还很陌生,我的大部分知识都来自 Java 和 Python。话虽如此,我目前有以下代码: public class Person { public int Person_ID
我正在尝试做一些非常简单的事情 - 将 CheckedListBox 绑定(bind)到对象列表。 Class definition namespace Models { public cla
我的选中列表框有问题。 public void GetFolder() { var dict = new Dictionary(); foreach (Fo
如何设置这些值?我有一个数据表,其中包含我想在组合框中设置的所有数据,但我找不到如何设置它。 我试过了 ComboBox1.DataSource = dataTable; ComboBox1.Valu
当我设置 DataSource在控件上并想使用 .ToString()作为DisplayMember , 我需要设置 DisplayMember最后一个或 ValueMember将覆盖它。 MSDN
目的是将列表视为“名称”列表。 这是字典: class Scripts { public Dictionary scripts = new Dictionary();
我正在尝试将 Windows 窗体项目中 ListBox 的 DisplayMember 属性设置为我绑定(bind)到的通用列表中的嵌套类的属性。 这是一个简单的例子: public class
我尝试在我的 ListBox 组件中将“FirstName”和“LastName”属性显示在同一行,例如“SMITH Robert”,但是当我启动程序时,我有 Id 属性。问题可能是程序没有找到属性“
我正在尝试使用以下代码更改组合框的显示方式: private void UpdateMapRoadPointList(List plstMapRoadPointList) {
当我有一个 DataGridViewComboBoxColumn填充绑定(bind)值,如果我设置 DisplayMember属性,我得到 DataError使用 FormatException 引发
我是一名优秀的程序员,十分优秀!