private void FindStatusOn() { ucGantt1.gantt1.Tasks.Clear(); foreach (var task in saveTask) { ucGantt1.gantt1.Tasks.Add(task); } TaskItemCollection arr = new TaskItemCollection(); if (новаяToolStripMenuItem.Checked == true) FilterStatus("Новая", ref arr); if (запросИнформацииToolStripMenuItem.Checked == true) FilterStatus("Запрос информации", ref arr); if (наСогласованииToolStripMenuItem.Checked == true) FilterStatus("На согласовании", ref arr); if (согласованоToolStripMenuItem.Checked == true) FilterStatus("Согласовано", ref arr); if (запланированаToolStripMenuItem.Checked == true) FilterStatus("Запланирована", ref arr); if (выполняетсяToolStripMenuItem.Checked == true) FilterStatus("Выполняется", ref arr); if (доработкаToolStripMenuItem.Checked == true) FilterStatus("Доработка", ref arr); if (сдачаприемкаToolStripMenuItem.Checked == true) FilterStatus("Сдача-приемка", ref arr); if (завершеноToolStripMenuItem.Checked == true) FilterStatus("Завершено", ref arr); if (отмененоToolStripMenuItem.Checked == true) FilterStatus("Отменено", ref arr); ucGantt1.gantt1.Tasks.Clear(); foreach (var task in arr) { ucGantt1.gantt1.Tasks.Add(task); } }
private void FilterStatus(String status, ref TaskItemCollection arr) { foreach (var task in ucGantt1.gantt1.Tasks) { var st = InstHelperPLM.mainList.Where(cur => cur.keyGantt == task.Key); //.Where(cur1 => cur1.Status == status); // TODO не переделывал сравнение, потому что фильтрация отключена if (!st.IsEmpty()) arr.Add(task); } }
public void GenerationGanttData() { InfoObject obj = this.MyObj; ICollection<CollectionElement> attr = this.MyAttr; String job = this.MyJob; bool DoOperChildren = (job == "Project"); // Инициализация данных ucGantt1.gantt1.Tasks.Clear(); ucGantt1.gantt1.Groups.Clear(); if (saveTask == null) saveTask = new TaskItemCollection(); else saveTask.Clear(); ucGantt1.gantt1.SuspendItemLayout(); // Чтение данных, относящихся к выбранному проекту, из ПЛМ InstHelperPLM.CollectPLMData(obj, attr, DoOperChildren); // Создание объектов Гантта из списка CreateGanttTasks(ucGantt1.gantt1); // Расстановка статуса редактирования для групп for (int i = 0; i < ucGantt1.gantt1.Groups.Count; i++) { ucGantt1.gantt1.Groups[i].SetEditMode(); } // Задание зависимостей существующих задач SetDependens(); for (int i = 0; i < ucGantt1.gantt1.Tasks.Count; i++) { saveTask.Add(ucGantt1.gantt1.Tasks[i]); } // TODO kkk : фильтрация по статусам временно закрыта - if (!DoOperChildren) FindStatusOn(); // job == "Tasks" SetupAllTask(); MakeMenuBaseLines(); фильтрToolStripMenuItem.Enabled = DoOperChildren; if (DoOperChildren && (ucGantt1.gantt1.Groups.Count == 0)) { mnuAddTask1.Enabled = false; mnuAddTask.Enabled = false; mnuAddGroup.Enabled = false; mnuAddGroup1.Enabled = false; } ucGantt1.gantt1.ResumeItemLayout(); ucGantt1.gantt1.AutoMoveItems(); ResetAllBindings(); ucGantt1.gantt1.ZoomToFit(); }