/// <summary> /// Добавляет элементы <see cref="BaseDetailDirective"/> в ListView /// </summary> /// <param name="itemsArray"></param> protected override void AddItems(BaseDetailDirective[] itemsArray) { if (itemsArray.Length != 0) { int count = itemsArray.Length; for (int i = 0; i < count; i++) { AddItem(itemsArray[i]); } ItemsListView.Items.AddRange(ListViewItemList.ToArray()); ShowGroups = true; if (itemsArray[0].DirectiveType == DirectiveTypeCollection.Instance.ADDirectiveType) { sortMultiplier = -1; } else { sortMultiplier = 1; } if (columnIndexQueue.Count == 1) { SortItems(0, sortMultiplier); } } }
/// <summary> /// Обновляет элементы ListView /// </summary> public override void UpdateItems() { ItemsHash.Clear(); ListViewItemList.Clear(); ItemsListView.Items.Clear(); selectedItemsList.Clear(); /* List<AbstractDetail> containedDetails = new List<AbstractDetail>(); * if (currentAircraft != null) * { * containedDetails.AddRange(currentAircraft.Engines); * if (currentAircraft.Apu != null) * containedDetails.Add(currentAircraft.Apu); * containedDetails.AddRange(currentAircraft.LandingGears); * containedDetails.AddRange(currentAircraft.AircraftFrame.ContainedDetails); * } * else * { * for (int i = 0; i < currentOperator.Stores.Count; i++) * containedDetails.AddRange(currentOperator.Stores[i].Engines); * for (int i = 0; i < currentOperator.Stores.Count; i++) * if (currentOperator.Stores[i].Apu != null) * containedDetails.Add(currentOperator.Stores[i].Apu); * for (int i = 0; i < currentOperator.Stores.Count; i++) * containedDetails.AddRange(currentOperator.Stores[i].LandingGears); * for (int i = 0; i < currentOperator.Stores.Count; i++) * containedDetails.AddRange(currentOperator.Stores[i].AircraftFrame.ContainedDetails); * }*/ // AddItems(containedDetails.ToArray()); SetTotalText(); }
/// <summary> /// Выполняет группировку элементов /// </summary> protected override void SetGroupsToItems() { itemsListView.Groups.Clear(); if (OldColumnIndex != 9) { foreach (var item in ListViewItemList) { var temp = ListViewGroupHelper.GetGroupString(item.Tag); itemsListView.Groups.Add(temp, temp); item.Group = itemsListView.Groups[temp]; } } else { //Группировка элементов по датам выполнения var groupedItems = ListViewItemList.Where(lvi => lvi.Tag != null && lvi.Tag is NextPerformance) .GroupBy(lvi => Convert.ToDateTime(((NextPerformance)lvi.Tag).PerformanceDate).Date); foreach (var groupedItem in groupedItems) { //Собрание всех выполнений на данную дату в одну коллекцию var performances = groupedItem.Select(lvi => lvi.Tag as NextPerformance).ToList(); var temp = ListViewGroupHelper.GetGroupStringByPerformanceDate(performances, groupedItem.Key.Date); itemsListView.Groups.Add(temp, temp); foreach (var item in groupedItem) { item.Group = itemsListView.Groups[temp]; } } } }
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; }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(AbstractDetail item) { string[] itemsString = GetItemString(item); ListViewItem listViewItem = new ListViewItem(itemsString); int hashCode = item.ConditionState.GetHashCode(); listViewItem.BackColor = item.Highlight.Color; if (hashCode == 2 || item.ExpirationDate < DateTime.Now) { listViewItem.BackColor = COLORS[2]; } else if (hashCode == 1 || item.NotificationDate < DateTime.Today) { listViewItem.BackColor = COLORS[1]; } else { listViewItem.BackColor = COLORS[0]; } listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(Detail item) { string[] itemsString = GetItemsString(item); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.SubItems.Add(item.AtaChapter.FullName); if (landingGearsFilter.Acceptable(item)) { listViewItem.SubItems.Add(TermsProvider.GetLandingGearPositionFullName(((GearAssembly)item.Parent).LandingGearMark.ToString())); } listViewItem.BackColor = item.Highlight.Color; if (item.ConditionState == DirectiveConditionState.Notify) { listViewItem.BackColor = Css.ListView.Colors.NotifyColor; } else if (item.ConditionState == DirectiveConditionState.NotSatisfactory) { listViewItem.BackColor = Css.ListView.Colors.NotSatisfactoryColor; } listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент в список директив /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(ModificationItem item) { ListViewItem listViewItem = PrepareItem(item); ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент в список директив /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(BaseDetailDirective item) { ListViewItem listViewItem = PrepareItem(item); ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Событие возникающее при изменении массива выбранных элементов в списке элементов, которые отображаются в списке, вот! /// </summary> //public event EventHandler<SelectedItemsChangeEventArgs> SelectedItemsChanged; #endregion #endregion #region Methods #region public override void UpdateItems() /// <summary> /// Обновляет элементы ListView /// </summary> public override void UpdateItems() { ItemsHash.Clear(); ListViewItemList.Clear(); ItemsListView.Items.Clear(); selectedItemsList.Clear(); AddItems(parentAircraft.WorkPackages); SetTotalText(); }
/// <summary> /// Добавляет элемент в список технических записей (AbstractRecord) /// </summary> /// <param name="item">Добавляемая техническая запись (AbstractRecord)</param> protected override ListViewItem AddItem(AbstractRecord item) { string[] itemsString = GetItemString(item); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.Tag = item; ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Событие возникающее при изменении массива выбранных элементов в списке элементов, которые отображаются в списке, вот! /// </summary> //public event EventHandler<SelectedItemsChangeEventArgs> SelectedItemsChanged; #endregion #endregion #region Methods #region private void SetResource() private void SetResource() { ItemsListView.Items.Clear(); ItemsListView.Groups.Clear(); ItemsListView.Columns.Clear(); ColumnHeaderList.Clear(); ListViewItemList.Clear(); SetHeaders(); }
/// <summary> /// Обновляет элементы ListView /// </summary> public override void UpdateItems() { ItemsHash.Clear(); ListViewItemList.Clear(); ItemsListView.Items.Clear(); selectedItemsList.Clear(); AddItems(Flights.ToArray()); SetTotalText(); }
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; }
protected override ListViewItem AddItem(JobCard jobCard) { string[] itemsString = GetItemsString(jobCard); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.Tag = jobCard; ItemsHash.Add(jobCard, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Событие возникающее при изменении массива выбранных элементов в списке элементов, которые отображаются в списке, вот! /// </summary> //public event EventHandler<SelectedItemsChangeEventArgs> SelectedItemsChanged; #endregion #endregion #region Methods #region public override void UpdateItems() /// <summary> /// Обновляет элементы ListView /// </summary> public override void UpdateItems() { ItemsHash.Clear(); ListViewItemList.Clear(); ItemsListView.Items.Clear(); selectedItemsList.Clear(); AddItems(currentWorkPackage.Items.ToArray()); SetTotalText(); }
protected override ListViewItem AddItem(WorkPackage item) { string[] itemsString = GetItemsString(item); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
protected override ListViewItem AddItem(MaintenanceSubCheck subCheck) { string[] itemsString = GetItemsString(subCheck); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.Tag = subCheck; ItemsHash.Add(subCheck, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Обновляет элементы ListView /// </summary> public override void UpdateItems() { ItemsHash.Clear(); ListViewItemList.Clear(); ItemsListView.Items.Clear(); selectedItemsList.Clear(); AddItems(currentAircraft.ATLBs); SetTotalText(); }
protected override ListViewItem AddItem(EngineeringOrderDirective directive) { string[] itemsString = GetItemsString(directive); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.Tag = directive; listViewItem.BackColor = COLORS[directive.Condition.GetHashCode()]; ItemsHash.Add(directive, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент /// </summary> /// <param name="item"></param> protected override ListViewItem AddItem(IMaintainable item) { string[] itemsString = GetItemsString(item); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.BackColor = GetIMaintainableColor(item); listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(AircraftFlight item) { string[] subItemsString = GetSubItemsString(item); ListViewItem listViewItem = new ListViewItem(item.ATLBPageNo.ToString()); listViewItem.SubItems.AddRange(subItemsString); listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(ATLB item) { string[] subItemsString = GetSubItemsString(item); ListViewItem listViewItem = new ListViewItem(item.ATLBNo); listViewItem.SubItems.AddRange(subItemsString); listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(TemplateDetail item) { string[] itemsString = GetItemsString(item); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.SubItems.Add(item.AtaChapter.FullName); listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Обновляет элементы ListView /// </summary> public override void UpdateItems() { ItemsHash.Clear(); ListViewItemList.Clear(); ItemsListView.Items.Clear(); selectedItemsList.Clear(); AddItems(currentATLB.Flights); SetTotalText(); //ItemsListView.EndUpdate(); // Если не вызвать этот метод список не появится после обновления }
/// <summary> /// Добавляет элементы <see cref="EngineeringOrderDirective"/> в ListView /// </summary> /// <param name="itemsArray"></param> protected override void AddItems(EngineeringOrderDirective[] itemsArray) { if (itemsArray.Length != 0) { int count = itemsArray.Length; for (int i = 0; i < count; i++) { AddItem(itemsArray[i]); } ItemsListView.Items.AddRange(ListViewItemList.ToArray()); SortItems(oldColumnIndex); } }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(StockDetailInfo item) { string[] itemsString = GetItemString(item); ListViewItem listViewItem = new ListViewItem(itemsString); if (item.Current < item.Amount) { listViewItem.BackColor = Css.ListView.Colors.NotSatisfactoryColor; } listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
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; }
/// <summary> /// Добавляет элементы <see cref="JobCard"/> в ListView /// </summary> /// <param name="itemsArray"></param> protected override void AddItems(JobCard[] itemsArray) { if (itemsArray.Length != 0) { int count = itemsArray.Length; for (int i = 0; i < count; i++) { AddItem(itemsArray[i]); } SetGroupsToItems(); ItemsListView.Items.AddRange(ListViewItemList.ToArray()); ShowGroups = true; SortItems(oldColumnIndex); } }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(BaseDetailDirective item) { string[] itemsString = GetItemString(item); ListViewItem listViewItem = new ListViewItem(itemsString); if (!item.Closed) { listViewItem.ForeColor = Color.Black; } listViewItem.BackColor = UsefulMethods.GetDirectiveColor(item); listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }
/// <summary> /// Добавляет элемент с указанием группы в которой он находится /// </summary> /// <param name="item">Добавляемый элемент</param> protected override ListViewItem AddItem(AircraftFlight item) { string[] itemsString = GetItemsString(item); ListViewItem listViewItem = new ListViewItem(itemsString); listViewItem.BackColor = item.Highlight.Color; if (!item.Correct) { listViewItem.BackColor = Css.ListView.Colors.PendingColor; } listViewItem.Tag = item; ItemsHash.Add(item, listViewItem); ListViewItemList.Add(listViewItem); return(listViewItem); }