예제 #1
0
파일: frmMain.cs 프로젝트: Veivan/GanttDll
        private void SetupAllTask()
        {
            HelperClasses.clTask curStTask;
            int curInd = -1;

            foreach (var task in ucGantt1.gantt1.Tasks)
            {
                curStTask = new HelperClasses.clTask();
                if (InstHelperPLM.FindStOnKeyGantt(task.Key, ref curStTask, ref curInd) == false)
                    continue;

                // Вывод ФИО ответственного исполнителя в ganttDataGrid1
                if (curStTask.ResponsibleUser != null)
                {
                    // Добавление ответственных в лист значений колонки и сортировка этого листа
                    GanttDataColumn colRespons = ucGantt1.ganttDataGrid1.TaskColumns.ColumnByKey("Responsible");
                    bool exists = colRespons.ValueList.Exists(element => (User)element.Value == curStTask.ResponsibleUser);
                    if (!exists)
                    {
                        colRespons.AddValueListItem(curStTask.ResponsibleExecutive, curStTask.ResponsibleUser);
                        colRespons.ValueList.Sort((x, y) => x.Text.CompareTo(y.Text));
                    }
                    // Установка ответственного исполнителя задачи
                    // curStTask.Obj["TaskName"].ToString()
                    task.SetProperty("Responsible", curStTask.ResponsibleUser);
                    task.SetProperty("ResponsibleName", curStTask.ResponsibleExecutive);
                }

                // Добавление ресурсов к задаче
                foreach (var res in curStTask.lResourceTask)
                {
                    task.AddResource(res.Res, res.unit, res.responsible);
                }

                task.PercentDone = Convert.ToDouble(curStTask.Dates.Percentage) / 100.0;

                // Задание цвета задачи
                if (curStTask.externalTask)
                // Для задач вне проекта
                {
                    // Задачи вне проекта будут Readonly
                    task.Readonly = true;
                    // Назначение характеристики отображения в DataGrid
                    task.DataGridRowBackgroundStyle = new GlossyBackgroundStyle();
                    task.DataGridRowBackgroundStyle.Color = Color.LightGray;
                    task.DataGridRowBackgroundStyle.GradientBlendStyle = GradientBlendStyle.None;
                    task.DataGridRowBackgroundStyle.GlossColor = Color.LightGray;

                    // Назначение характеристики отображения в DataGrid
                    task.RowBackgroundStyle = new GlossyBackgroundStyle();
                    task.RowBackgroundStyle.Color = Color.LightGray;
                    task.RowBackgroundStyle.GradientBlendStyle = GradientBlendStyle.None;
                    task.RowBackgroundStyle.GlossColor = Color.LightGray;

                    // Задание цвета контура задачи(по умолчанию Blue
                    task.FormatStyle.BorderStyle.Color = Color.Gray;
                    // Задание цвета строки с название задачи и ресурсом (по умочанию Black)
                    task.FormatStyle.ForegroundStyle.Color = Color.Black;
                    // Задание цвета задачи
                    task.FormatStyle.BackgroundStyle.Color = Color.LightGray;
                    // Задание цвета эффекта (по умолчанию Blue)
                    task.FormatStyle.BackgroundStyle.ColorEffect = Color.LightGray;
                    // Задание стиля блеска (по умолчания None)
                    task.FormatStyle.BackgroundStyle.GradientBlendStyle = GradientBlendStyle.None;
                    // Задание цвета блеска - "объема" (по умолчанию White)
                    task.FormatStyle.BackgroundStyle.GlossColor = Color.LightGray;
                    task.SetProperty("Note", "1");
                }
                else
                // Для задач входящих в проект
                {
                    Color myColor = Color.FromArgb(100, Color.LightSteelBlue);
                    // Задание цвета контура задачи(по умолчанию Blue
                    task.FormatStyle.BorderStyle.Color = Color.Black;
                    task.FormatStyle.BackgroundStyle.Color = myColor;
                    // Задание цвета эффекта (по умолчанию Blue)
                    task.FormatStyle.BackgroundStyle.ColorEffect = myColor;
                    // Задание стиля блеска (по умолчания None)
                    task.FormatStyle.BackgroundStyle.GradientBlendStyle = GradientBlendStyle.None;
                    // Задание цвета блеска - "объема" (по умолчанию White)
                    task.FormatStyle.BackgroundStyle.GlossColor = myColor;

                }
                if (curStTask.Dates.bData == false)
                    // Примечание - дата не задана
                    task.SetProperty("Note", "2");
            }
        }
예제 #2
0
파일: frmMain.cs 프로젝트: Veivan/GanttDll
 private void gantt1_ItemClick(object sender, GanttItemMouseEventArgs e)
 {
     if (KeyCTRL == true)
     {
         HelperClasses.clTask value = new HelperClasses.clTask();
         if (InstHelperPLM.DictTasksGetVal(e.Item.Key, out value) == true)
         {
             // Выбор объекта в дереве PLM
             Service.UI.SelectObjectInBrowser(value.Obj);
         }
         KeyCTRL = false;
     }
 }