C# - 是不是可以从 a 到 z 排列组合框项目?
Posted
技术标签:
【中文标题】C# - 是不是可以从 a 到 z 排列组合框项目?【英文标题】:C# - is it possible to arrange ComboBox Items from a to z?C# - 是否可以从 a 到 z 排列组合框项目? 【发布时间】:2013-06-09 11:17:21 【问题描述】:我在组合框中有一个非常凌乱的长项目,其中充满了字符串,如果将其从 a 到 z 排序以使其更容易跟踪,那就太好了。有可能吗?
【问题讨论】:
您是使用对象(如数组或List<T>
)作为组合框的.DataSource
,还是手动填充.Items
?
检查这个。 ***.com/questions/188141/…
是的,ComboBox 本身的来源是一个字符串数组
取决于您使用的 UI 技术。 WinForms ComboBoxes 有一个Sorted
属性。但你还没有告诉我们你在建造什么。表格? WPF? html?
你试过了吗:ComponentModel:SortDescription?它在 WindowBase.dll
【参考方案1】:
我可以想到两种可能的方法:
A) 使用 WinForms 组合框 Sorted
属性
如果你使用的是 WinForms,你可以使用ComboBox.Sorted = true;
B) 使用OrderBy
手动对列表进行排序
如果您的组合框中的数据来自列表形式,请使用OrderBy 到您要放入ComboBox
中的数据的List
在设置之前 .
这是一个例子:
var myList = new List<string>() "q","w","e","r","t","y";
var sorted = a.OrderBy(c => c).ToArray()
comboBox1.Items.AddRange(sorted);
【讨论】:
【参考方案2】:原来我可以回答我自己的问题,在 Windows 8 C# 应用程序中,ComboBox 具有 Sort() 属性,可以简单地从 a 到 z 排列每个项目。谢谢。
【讨论】:
【参考方案3】:首先我没有像这样直接填充我的下拉组合框
AppCombBox1.Items.Add(comboboxvalue);
但是我用相同的数据填充了一个列表(在代码中循环完成,它正在通过 ini 文件搜索值):
List<string> TempList = new List<string>();
TempList.Add(comboboxvalue);
填充列表后,我对其进行排序,然后用排序值填充下拉组合框。
TempList.Sort();
foreach (string ListValue in TempList)
AppCombBox1.Items.Add(ListValue);
【讨论】:
【参考方案4】:只需设置Sorted Property to True
。它将对元素进行排序。我正在从数据库中获取值,它工作正常。
【讨论】:
以上是关于C# - 是不是可以从 a 到 z 排列组合框项目?的主要内容,如果未能解决你的问题,请参考以下文章