Comment déplacer des éléments dans une BindingList en C#? Dites, déplacez le dernier élément ajouté vers l'avant ou permutez avec l'élément précédent?Réorganisation des éléments dans BindingList en C#?
Répondre
Un BindingList a une propriété Items qui implémente IList <>
Vous pouvez donc utiliser Insert()
et RemoveAt()
oui, merci :) juste commencé à apprendre C#, ne pouvait pas comprendre - demandé, et soudainement figuré si dehors et est venu fermer la question :) – flamey
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;
}
Y at-il un moyen de réorganiser le 'BindingList' en utilisant un comparateur? Il n'y a pas de méthode 'Sort' exposée sur' BindingList'. Il y a 'ApplySortCore' mais c'est' protected', pas 'public'. – Dai
méthode InsertItem est quelque chose que vous devriez lire. Je suppose que cela vous donne ce dont vous avez besoin. – danish