//Отображение списка задача в dgTask private void addTaskStickerToDG(int goalID, int?weekID, string isCompleted, int row, int column) { List <int> taskCounts; //Список задач if (weekID.HasValue) //Задача с назначеной неделью { taskCounts = db.getTaskCount(goalID, weekID.Value, isCompleted); } else //Задача без недели { taskCounts = db.getTaskCount(goalID, isCompleted); } int itemAdded = 0; List <StackPanel> lsp = new List <StackPanel>(); StackPanel sp = createStackPanel(); lsp.Add(sp); //Добавляем картинки по приоритетам for (int i = 0; i < taskCounts.Count; ++i) { for (int j = 0; j < taskCounts[i]; ++j) { if (itemAdded == 4) { itemAdded = 0; sp = createStackPanel(); lsp.Add(sp); } sp.Children.Add(getImage(i)); ++itemAdded; } } DataGridCell dgs = DataGridHelper.GetCell(dgTasks, row, column); //Получаем ячейку dgTask StackPanel mainStackPanel = DataGridHelper.FindVisualChild <StackPanel>(dgs); //Получаем объект в ячейке for (int i = 0; i < lsp.Count; ++i) { mainStackPanel.Children.Add(lsp[i]); } }
//Добавление стикеров задач в dgTask private void addTasksToDG() { for (int i = 0; i < dgTasks.Items.Count; ++i) { DataGridCell dgs = DataGridHelper.GetCell(dgTasks, i, 0); string goalName = (dgs.Content as TextBlock).Text; //Получение значения в первой колонке - "Цели" int goalID = db.getGoalID(goalName); //Индекс цели addTaskStickerToDG(goalID, null, "False", i, 1); for (int j = 2; j < dgTasks.Columns.Count - 1; ++j) { string weekName = dgTasks.Columns[j].Header.ToString(); //Получение названия недели int weekID = db.getWeekID(weekName); //Индекс недели addTaskStickerToDG(goalID, weekID, "False", i, j); } addTaskStickerToDG(goalID, null, "True", i, dgTasks.Columns.Count - 1); } }