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 排列组合框项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 上使用数据库数据获取组合框上的范围值

C# 使用数据库值更新组合框

c# 组合框绑定到对象列表

C# 从 JSON 在线填充组合框

使用大量项目填充组合框

如何从 C# 访问另一个应用程序的组合框