using System; using System.Collections.Generic; using System.Threading; namespace MLV; public class ManagedListViewItemsComparer : IComparer { private bool AtoZ = true; private string subitemId = ""; public ManagedListViewItemsComparer(bool AtoZ, string subitemId) { this.AtoZ = AtoZ; this.subitemId = subitemId; } public int Compare(ManagedListViewItem x, ManagedListViewItem y) { if (x.GetSubItemByID(subitemId) != null && y.GetSubItemByID(subitemId) != null) { if (AtoZ) { return StringComparer.Create(Thread.CurrentThread.CurrentCulture, ignoreCase: false).Compare(x.GetSubItemByID(subitemId).Text, y.GetSubItemByID(subitemId).Text); } return -1 * StringComparer.Create(Thread.CurrentThread.CurrentCulture, ignoreCase: false).Compare(x.GetSubItemByID(subitemId).Text, y.GetSubItemByID(subitemId).Text); } return -1; } }