2009-04-18 40 views
6

C#でBindingList内の項目を移動するにはどうすればよいですか?前に追加したアイテムを前に移動する、または前のアイテムと入れ替えるといいますか?C#でBindingListの項目を並べ替えますか?

+0

のInsertItemメソッドを使用することができますを実装Itemsプロパティを使用すると、およそ読むべきものですしています。私はそれがあなたに必要なものを与えると思います。 – danish

答えて

3

AするBindingListはIListの<>

ですから、Insert()RemoveAt()

+0

はい、ありがとう:)ありがとう:)ちょうどC#の学習を始めた、それを把握することができませんでした - と尋ねると突然、質問を閉じて来た:) – flamey

5
static void Main(string[] args) 
    { 
     BindingList<string> list = new BindingList<string>(); 
     list.Add("Hello"); 
     list.Add("World"); 
     list.Add("Test"); 

     MoveLastToFirst(list); 

     Swap(list, 1, 2); 

     foreach (string s in list) 
      Console.WriteLine(s); // Prints Test World Hello 
    } 

    private static void MoveLastToFirst<T>(BindingList<T> list) 
    { 
     int cnt = list.Count; 
     T temp = list[cnt - 1]; 
     list.RemoveAt(cnt - 1); 
     list.Insert(0, temp); 
    } 

    private static void Swap<T>(BindingList<T> list, int first, int second) 
    { 
     T temp = list[first]; 
     list[first] = list[second]; 
     list[second] = temp; 
    } 
+0

コンパイラを使用して 'BindingList'を並べ替える方法はありますか? 'BindingList'には' Sort'メソッドが公開されていません。 'ApplySortCore'がありますが' public'ではなく 'protected'です。 – Dai

関連する問題