public void SetSortColumn(int sortColumn, bool checkOrder = true) { int prevColumn = fSortColumn; if (prevColumn == sortColumn && checkOrder) { MVPSortOrder prevOrder = GetColumnSortOrder(sortColumn); fSortOrder = (prevOrder == MVPSortOrder.Ascending) ? MVPSortOrder.Descending : MVPSortOrder.Ascending; } fSortColumn = sortColumn; SortContents(true); }
public int Compare(object x, object y) { int result = 0; int sortColumn = fOwner.fSortColumn; MVPSortOrder sortOrder = fOwner.fSortOrder; if (sortOrder != MVPSortOrder.None && sortColumn >= 0) { ListViewItem item1 = (ListViewItem)x; ListViewItem item2 = (ListViewItem)y; if (sortColumn == 0) { if (item1 is IComparable && item2 is IComparable) { IComparable eitem1 = (IComparable)x; IComparable eitem2 = (IComparable)y; result = eitem1.CompareTo(eitem2); } else { result = GKListView.StrCompareEx(item1.Text, item2.Text); } } else if (sortColumn < item1.SubItems.Count && sortColumn < item2.SubItems.Count) { ListViewItem.ListViewSubItem subitem1 = item1.SubItems[sortColumn]; ListViewItem.ListViewSubItem subitem2 = item2.SubItems[sortColumn]; if (subitem1 is IComparable && subitem2 is IComparable) { IComparable sub1 = (IComparable)subitem1; IComparable sub2 = (IComparable)subitem2; result = sub1.CompareTo(sub2); } else { result = GKListView.StrCompareEx(subitem1.Text, subitem2.Text); } } if (sortOrder == MVPSortOrder.Descending) { result = -result; } } return(result); }
public void Sort(int sortColumn, BSDSortOrder sortOrder) { fSortColumn = sortColumn; fSortOrder = sortOrder; object rowData = GetSelectedData(); SortContents(true); UpdateItems(); if (rowData != null) { SelectItem(rowData); } }
public void SetSortColumn(int sortColumn, bool checkOrder = true) { int prevColumn = fSortColumn; if (prevColumn == sortColumn && checkOrder) { BSDSortOrder prevOrder = GetColumnSortOrder(sortColumn); fSortOrder = (prevOrder == BSDSortOrder.Ascending) ? BSDSortOrder.Descending : BSDSortOrder.Ascending; } fSortColumn = sortColumn; object rowData = GetSelectedData(); SortContents(true); UpdateItems(); if (rowData != null) { SelectItem(rowData); } }
public GKListView() { //SetStyle(ControlStyles.DoubleBuffer, true); //SetStyle(ControlStyles.OptimizedDoubleBuffer, true); //SetStyle(ControlStyles.AllPaintingInWmPaint, true); // Enable the OnNotifyMessage event so we get a chance to filter out // Windows messages before they get to the form's WndProc //SetStyle(ControlStyles.EnableNotifyMessage, true); //OwnerDraw = true; fCheckedList = false; fItems = new ObservableExtList <GKListItem>(); //fItemsAccessor = new GKListViewItems(this); fSortColumn = 0; fSortOrder = BSDSortOrder.None; AllowColumnReordering = false; AllowMultipleSelection = false; DataStore = fItems; fListMan = null; }
public GKListView() { SetStyle(ControlStyles.DoubleBuffer, true); SetStyle(ControlStyles.OptimizedDoubleBuffer, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // Enable the OnNotifyMessage event so we get a chance to filter out // Windows messages before they get to the form's WndProc SetStyle(ControlStyles.EnableNotifyMessage, true); OwnerDraw = true; HideSelection = false; LabelEdit = false; FullRowSelect = true; View = View.Details; fSortColumn = 0; fSortOrder = MVPSortOrder.None; fColumnSorter = new LVColumnSorter(this); fItemsAccessor = new GKListViewItems(this); ListViewItemSorter = fColumnSorter; fListMan = null; }
public void Sort(int sortColumn, MVPSortOrder sortOrder) { fSortOrder = sortOrder; SetSortColumn(sortColumn, false); }
public void Sort(int sortColumn, BSLib.Design.BSDTypes.SortOrder sortOrder) { Control.Sort(sortColumn, (System.Windows.Forms.SortOrder)sortOrder); }