保持 ListBox 排序,但特定条目始终固定在顶部

Keep ListBox sorted, but with a particular entry always pinned to the top

我有一个包含国家/地区的列表框(我从 Active Directory 中获取)。我希望对列表进行排序,但我还希望一个条目 "All" 位于最顶部。

我该怎么做?

如果您在后面的代码中绑定数据,您可以在索引 0 处插入一个 Listitem。

ListItem myItem=new ListItem("ALL","value");
myListbox.Items.Insert(0, myItem);

在绑定到您的 ListBox 之前,我会先对列表项进行排序。根据您的数据源,即 DataTable、List、Dictionary 等,有几个选项可以执行此操作。要插入项目,请使用下面的代码。

lstCountries.Items.Insert(0, new ListItem("All", "0"));

加载数据(即国家/地区)后,按如下方式添加 ListItem:

myListbox.Items.Add(new ListItem() { Text = "All", Value = "" });
myListbox.SelectedIndex = 0; //This line will selected the first item on your ListBox.

在这里,您可能会考虑如果选择了包含文本 "All" 的列表框,则采取何种操作。