示例#1
0
        private void SortItems(int columnIndex)
        {
            if (oldColumnIndex != columnIndex)
            {
                sortMultiplier = -1;
            }
            if (sortMultiplier == 1)
            {
                sortMultiplier = -1;
            }
            else
            {
                sortMultiplier = 1;
            }
            if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
            {
                columnIndexQueue.Dequeue();
                columnIndexQueue.Enqueue(columnIndex);
            }
            else
            {
                columnIndexQueue.Enqueue(columnIndex);
            }
            ItemsListView.Items.Clear();
            SetGroupsToItems();
            ListViewItemList.Sort(new ADDirectiveListViewComparer(columnIndex, sortMultiplier));


            ItemsListView.Items.AddRange(ListViewItemList.ToArray());
            oldColumnIndex = columnIndex;
        }
示例#2
0
        private void SortItems(int columnIndex)
        {
            if (oldColumnIndex != columnIndex)
            {
                sortMultiplier = -1;
                if (columnIndex == 0)
                {
                    ataSortMultiplier = -1;
                }
            }
            if (sortMultiplier == 1)
            {
                sortMultiplier = -1;
            }
            else
            {
                sortMultiplier = 1;
            }

            if (columnIndex == 0)
            {
                if (ataSortMultiplier == 1)
                {
                    ataSortMultiplier = -1;
                }
                else
                {
                    ataSortMultiplier = 1;
                }
            }

            if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
            {
                columnIndexQueue.Dequeue();
                columnIndexQueue.Enqueue(columnIndex);
            }
            else
            {
                columnIndexQueue.Enqueue(columnIndex);
            }

            ListViewItemList.Sort(new ComponentStatusListViewComparer(columnIndexQueue, sortMultiplier, ataSortMultiplier));
            ItemsListView.Items.Clear();
            ItemsListView.Groups.Clear();
            if (GroupByLandingGearPostionNumbers)
            {
                SetGroupToItemLandingGear();
            }
            else
            {
                SetGroupToItemATAChapter();
            }
            ItemsListView.Items.AddRange(ListViewItemList.ToArray());
            ShowGroups     = true;
            oldColumnIndex = columnIndex;
        }
示例#3
0
        private void SortItems(int columnIndex)
        {
            if (oldColumnIndex != columnIndex)
            {
                sortMultiplier = -1;
                if (columnIndex == 0)
                {
                    ataSortMultiplier = -1;
                }
            }
            if (sortMultiplier == 1)
            {
                sortMultiplier = -1;
            }
            else
            {
                sortMultiplier = 1;
            }

            if (columnIndex == 0)
            {
                if (ataSortMultiplier == 1)
                {
                    ataSortMultiplier = -1;
                }
                else
                {
                    ataSortMultiplier = 1;
                }
            }

            if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
            {
                columnIndexQueue.Dequeue();
                columnIndexQueue.Enqueue(columnIndex);
            }
            else
            {
                columnIndexQueue.Enqueue(columnIndex);
            }

            ListViewItemList.Sort(new TemplateDetailListViewComparer(columnIndexQueue, sortMultiplier, ataSortMultiplier));
            ItemsListView.Items.Clear();
            ItemsListView.Groups.Clear();
            SetGroupToItem();
            ItemsListView.Items.AddRange(ListViewItemList.ToArray());
            ShowGroups     = true;
            oldColumnIndex = columnIndex;
        }
示例#4
0
 /// <summary>
 /// Добавляет элементы <see cref="TemplateDetail"/> в ListView
 /// </summary>
 /// <param name="itemsArray"></param>
 protected override void AddItems(TemplateDetail[] itemsArray)
 {
     if (itemsArray.Length != 0)
     {
         int count = itemsArray.Length;
         for (int i = 0; i < count; i++)
         {
             AddItem(itemsArray[i]);
         }
         ListViewItemList.Sort(new ATAComparer());
         SetGroupToItem();
         ItemsListView.Items.AddRange(ListViewItemList.ToArray());
         ShowGroups     = true;
         sortMultiplier = -1;
         SortItems(oldColumnIndex);
     }
 }
 private void SortItems(int columnIndex, int columnSortMultiplier)
 {
     if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
     {
         columnIndexQueue.Dequeue();
         columnIndexQueue.Enqueue(columnIndex);
     }
     else
     {
         columnIndexQueue.Enqueue(columnIndex);
     }
     ListViewItemList.Sort(new DirectiveListViewComparer(columnIndexQueue, columnSortMultiplier));
     ItemsListView.Items.Clear();
     ItemsListView.Groups.Clear();
     ItemsListView.Items.AddRange(ListViewItemList.ToArray());
     ShowGroups     = true;
     oldColumnIndex = columnIndex;
 }
示例#6
0
 /// <summary>
 /// Добавляет элементы <see cref="Detail"/> в ListView
 /// </summary>
 /// <param name="itemsArray"></param>
 protected override void AddItems(Detail[] itemsArray)
 {
     if (itemsArray.Length != 0)
     {
         int count = itemsArray.Length;
         for (int i = 0; i < count; i++)
         {
             AddItem(itemsArray[i]);
         }
         ListViewItemList.Sort(new ATAComparer());
         if (GroupByLandingGearPostionNumbers)
         {
             SetGroupToItemLandingGear();
         }
         else
         {
             SetGroupToItemATAChapter();
         }
         ItemsListView.Items.AddRange(ListViewItemList.ToArray());
         ShowGroups     = true;
         sortMultiplier = -1;
         SortItems(oldColumnIndex);
     }
 }
 private void SortItems(int columnIndex)
 {
     if (columnIndex == 0)
     {
         return;
     }
     if (sortMultiplier == 1)
     {
         sortMultiplier = -1;
     }
     else
     {
         sortMultiplier = 1;
     }
     ListViewItemList.Sort(new MaintenancePerformanceListViewComparer(columnIndex, sortMultiplier));
     for (int i = 0; i < ListViewItemList.Count; i++)
     {
         ListViewItemList[i].SubItems[0].Text = (i + 1).ToString();
     }
     ItemsListView.Items.Clear();
     ItemsListView.Groups.Clear();
     ItemsListView.Items.AddRange(ListViewItemList.ToArray());
     ChangeSize();
 }
示例#8
0
        protected override void SortItems(int columnIndex)
        {
            if (OldColumnIndex != columnIndex)
            {
                SortMultiplier = -1;
            }
            if (SortMultiplier == 1)
            {
                SortMultiplier = -1;
            }
            else
            {
                SortMultiplier = 1;
            }
            itemsListView.Items.Clear();
            OldColumnIndex = columnIndex;

            //List<ListViewItem> resultList = new List<ListViewItem>();

            if (columnIndex != 8)
            {
                SetGroupsToItems();

                ListViewItemList.Sort(new BaseListViewComparer(columnIndex, SortMultiplier));
                //добавление остальных подзадач
                //foreach (ListViewItem item in ListViewItemList)
                //{
                //resultList.Add(item);
                //NextPerformance np = (NextPerformance)item.Tag;
                //if (np.Parent is MaintenanceCheck && ((MaintenanceCheck)np.Parent).Grouping)
                //{
                //    MaintenanceCheck mc = (MaintenanceCheck)np.Parent;
                //    List<MaintenanceNextPerformance> performances = mc.GetPergormanceGroupWhereCheckIsSenior();
                //    if (performances == null || performances.Count == 1) continue;
                //    for (int i = 1; i < performances.Count; i++)
                //    {
                //        ListViewItem temp = new ListViewItem(GetListViewSubItems(performances[i]), null)
                //        {
                //            Tag = performances[i],
                //            Group = item.Group
                //        };
                //        resultList.Add(temp);
                //    }
                //}
                //else
                //{
                //    //первая подзадача описывает саму родитескую задачу, повторно ее добавлять ненадо
                //    if (np.Parent.NextPerformances == null || np.Parent.NextPerformances.Count <= 1) continue;
                //    for (int i = 1; i < np.Parent.NextPerformances.Count; i++)
                //    {
                //        ListViewItem temp = new ListViewItem(GetListViewSubItems(np.Parent.NextPerformances[i]), null)
                //        {
                //            Tag = np.Parent.NextPerformances[i],
                //            Group = item.Group
                //        };
                //        resultList.Add(temp);
                //    }
                //}
                //}
            }
            else
            {
                //foreach (ListViewItem item in ListViewItemList)
                //{
                //    resultList.Add(item);
                //NextPerformance np = (NextPerformance)item.Tag;
                //if (np.Parent is MaintenanceCheck && ((MaintenanceCheck)np.Parent).Grouping)
                //{
                //    MaintenanceCheck mc = (MaintenanceCheck)np.Parent;
                //    List<MaintenanceNextPerformance> performances = mc.GetPergormanceGroupWhereCheckIsSenior();
                //    if (performances == null || performances.Count == 1) continue;
                //    for (int i = 1; i < performances.Count; i++)
                //    {
                //        ListViewItem temp = new ListViewItem(GetListViewSubItems(performances[i]), null)
                //        {
                //            Tag = performances[i],
                //            Group = item.Group
                //        };
                //        resultList.Add(temp);
                //    }
                //}
                //else
                //{
                //    //первая подзадача описывает саму родитескую задачу, повторно ее добавлять ненадо
                //    if (np.Parent.NextPerformances == null || np.Parent.NextPerformances.Count <= 1) continue;
                //    for (int i = 1; i < np.Parent.NextPerformances.Count; i++)
                //    {
                //        ListViewItem temp = new ListViewItem(GetListViewSubItems(np.Parent.NextPerformances[i]), null)
                //        {
                //            Tag = np.Parent.NextPerformances[i],
                //        };
                //        resultList.Add(temp);
                //    }
                //}
                //}

                ListViewItemList.Sort(new DirectiveListViewComparer(columnIndex, SortMultiplier));
                //itemsListView.Groups.Clear();
                //foreach (ListViewItem item in resultList)
                //{
                //    DateTime date = new DateTime(1950, 1, 1);
                //    if (item.Tag is NextPerformance)
                //    {
                //        NextPerformance np = (NextPerformance)item.Tag;
                //        if (np.PerformanceDate != null)
                //            date = np.PerformanceDate.Value.Date;
                //    }

                //    string temp = date.Date > new DateTime(1950, 1, 1).Date ? SmartCore.Auxiliary.Convert.GetDateFormat(date.Date) : "";
                //    itemsListView.Groups.Add(temp, temp);
                //    item.Group = itemsListView.Groups[temp];
                //}

                SetGroupsToItems();
            }
            itemsListView.Items.AddRange(ListViewItemList.ToArray());
        }
示例#9
0
        protected override void SortItems(int columnIndex)
        {
            if (OldColumnIndex != columnIndex)
            {
                SortMultiplier = -1;
            }
            if (SortMultiplier == 1)
            {
                SortMultiplier = -1;
            }
            else
            {
                SortMultiplier = 1;
            }
            itemsListView.Items.Clear();
            SetGroupsToItems();

            List <ListViewItem> resultList = new List <ListViewItem>();

            if (columnIndex <= 6 || columnIndex == 19 || columnIndex == 20)
            {
                ListViewItemList.Sort(new BaseListViewComparer(columnIndex, SortMultiplier));
                //добавление остальных подзадач
                foreach (ListViewItem item in ListViewItemList)
                {
                    if (item.Tag is Component)
                    {
                        resultList.Add(item);

                        Component component = (Component)item.Tag;
                        IEnumerable <ListViewItem> items =
                            ListViewItemList
                            .Where(lvi => lvi.Tag is ComponentDirective && ((ComponentDirective)lvi.Tag).ComponentId == component.ItemId);
                        foreach (ListViewItem listViewItem in items)
                        {
                            listViewItem.Group = item.Group;
                        }
                        resultList.AddRange(items);
                    }
                }
            }
            else
            {
                //добавление остальных подзадач
                foreach (ListViewItem item in ListViewItemList)
                {
                    if (item.Tag is Component)
                    {
                        resultList.Add(item);

                        Component component = (Component)item.Tag;
                        IEnumerable <ListViewItem> items =
                            ListViewItemList
                            .Where(lvi => lvi.Tag is ComponentDirective && ((ComponentDirective)lvi.Tag).ComponentId == component.ItemId);
                        foreach (ListViewItem listViewItem in items)
                        {
                            listViewItem.Group = item.Group;
                        }
                        resultList.AddRange(items);
                    }
                }
                resultList.Sort(new BaseListViewComparer(columnIndex, SortMultiplier));
            }
            itemsListView.Items.AddRange(resultList.ToArray());
            OldColumnIndex = columnIndex;
        }