예제 #1
0
 public void Register(ListViewSortType type, SortDescription sorter)
 {
     if (!_sorts.ContainsKey(type))
     {
         _sorts.Add(type, sorter);
     }
 }
예제 #2
0
        public void SwitchSorter(ListViewType listViewType, ListViewSortType sortType)
        {
            var sortWay = GetSortWay(listViewType);

            if (sortWay == Global.SortWay.Default)
            {
                return;
            }
            var sorter = GetSorter(sortWay, sortType);

            SwitchSorter(listViewType, sorter);
        }
예제 #3
0
        /// <summary>
        /// 根据排序方式以及要排序的对象类型获取排序器
        /// </summary>
        /// <param name="sortWay"></param>
        /// <param name="sortType"></param>
        /// <returns></returns>
        private SortDescription GetSorter(Global.SortWay sortWay, ListViewSortType sortType)
        {
            SortDescription sorter = default;

            switch (sortWay)
            {
            case Global.SortWay.Dec:
                sorter = _sortDec.Get(sortType);
                break;

            case Global.SortWay.Inc:
                sorter = _sortInc.Get(sortType);
                break;
            }
            return(sorter);
        }
예제 #4
0
 public SortDescription Get(ListViewSortType type)
 {
     _sorts.TryGetValue(type, out var sort);
     return(sort);
 }
예제 #5
0
 public ListViewItemSorter(int sortColumn, ListViewSortType sortType, SortOrder sortOrder)
 {
     _sortColumn = sortColumn;
     _sortType   = sortType;
     _sortOrder  = sortOrder;
 }