2010-01-26 2 views

ответ

3

Это зависит от источника данных. Вот несколько способов ....

с использованием LINQ на источнике данных lisbox

from 101 LINQ Samples:

string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; 
var sortedDigits = 
     from d in digits 
     orderby d.Length, d 
     select d; 

использовать CollectionView для ListBox и добавить SortDescription

ICollectionView myDataView = CollectionViewSource.GetDefaultView(myData); 

using (myDataView.DeferRefresh()) // we use the DeferRefresh so that we refresh only once 
{ 
    myDataView.SortDescriptions.Clear(); 
    if (SortById) 
     myDataView.SortDescriptions.Add(new SortDescription("ApplicationName", direction)); 
    if (SortByName) 
     myDataView.SortDescriptions.Add(new SortDescription("InstanceName", direction)); 
} 
2

вы можете попробовать добавить оба поля в список элементов SortDescriptions collection, smth вот так:

listBox1.Items.SortDescriptions.Add(new SortDescription("ApplicatonName", ListSortDirection.Descending)); 
listBox1.Items.SortDescriptions.Add(new SortDescription("InstanceName", ListSortDirection.Descending)); 

выше код должен сортировать элементы ListBox в порядке убывания от fileds ApplicatonName и InstanceName

надеюсь, что это помогает, считает

Смежные вопросы