void ShowMarkTabel() { dgMarkTabel = new DataGrid(); dgMarkTabel.AutoGenerateColumns = false; DataGridTextColumn ProjectColumn = new DataGridTextColumn(); ProjectColumn.Binding = new Binding("name"); dgMarkTabel.Columns.Add(ProjectColumn); for (int i = 0; i < CountCriterions; i++) { DataGridTextColumn Column = new DataGridTextColumn(); Column.Header = Tables.ListCriterions[i].name_crit; Column.Binding = new Binding(string.Format("content.[{0}]", i)); dgMarkTabel.Columns.Add(Column); } List <myMarkRow> lRow = new List <myMarkRow>(); // === Формируем строку === for (int i = 0; i < CountProject; i++) { int[] arrMark = new int[CountCriterions]; for (int j = 0; j < CountCriterions; j++) { arrMark[j] = Tables.ListMark.Where(b => b.id_crit == Tables.ListCriterions[j].id_crit).Where(n => n.id_project == Tables.ListProjects[i].id_project).Where(l => l.id_expert == id_expert).FirstOrDefault().rating + 1; } myMarkRow Row = new myMarkRow(Tables.ListProjects[i].name_project, arrMark); lRow.Add(Row); } // === === === dgMarkTabel.ItemsSource = lRow; gInsideStage2.Children.Clear(); gInsideStage2.RowDefinitions.Clear(); gInsideStage2.ColumnDefinitions.Clear(); gInsideStage2.Children.Add(dgMarkTabel); }
void ShowStage2Tables() { gInsideStage2.Children.Clear(); gInsideStage2.RowDefinitions.Clear(); gInsideStage2.ColumnDefinitions.Clear(); RowDefinition rd0 = new RowDefinition(); rd0.Height = new GridLength(15); gInsideStage2.RowDefinitions.Add(rd0); for (int i = 0; i < ListFuzzyMarkMatrixForCrit.Count() + ListFuzzyMarkMatrixForCrit.Count() - 1; i++) { int x; Math.DivRem(i, 2, out x); RowDefinition rd = new RowDefinition(); if (x != 0) { rd.Height = new GridLength(25); } gInsideStage2.RowDefinitions.Add(rd); } int curGridLine = 1; for (int c = 0; c < ListFuzzyMarkMatrixForCrit.Count(); c++) { DataGrid MarkMatrixForCrit = new DataGrid(); MarkMatrixForCrit.AutoGenerateColumns = false; DataGridTextColumn ProjColumn = new DataGridTextColumn(); ProjColumn.Binding = new Binding("name"); MarkMatrixForCrit.Columns.Add(ProjColumn); for (int e = 0; e < CountExpert; e++) { DataGridTextColumn Column = new DataGridTextColumn(); Column.Header = Expertise.ListExperts[e].name_expert; Column.Binding = new Binding(string.Format("content.[{0}]", e)); MarkMatrixForCrit.Columns.Add(Column); } List <myMarkRow> lRow = new List <myMarkRow>(); // === Формируем строку === for (int p = 0; p < CountProject; p++) { int[] arrMark = new int[CountExpert]; for (int e = 0; e < CountExpert; e++) { arrMark[e] = Expertise.ListMark.Where(m => m.id_crit == Expertise.ListCriterions[c].id_crit).Where(m => m.id_project == Expertise.ListProjects[p].id_project).Where(m => m.id_expert == Expertise.ListExperts[e].id_expert).FirstOrDefault().rating + 1; } myMarkRow Row = new myMarkRow(Expertise.ListProjects[p].name_project, arrMark); lRow.Add(Row); } // === === === MarkMatrixForCrit.ItemsSource = lRow; Grid.SetRow(MarkMatrixForCrit, curGridLine); TextBlock tbl = new TextBlock(); tbl.Text = string.Format(" {0}:", Expertise.ListCriterions[c].name_crit); tbl.TextAlignment = TextAlignment.Left; tbl.VerticalAlignment = VerticalAlignment.Bottom; Grid.SetRow(tbl, curGridLine - 1); gInsideStage2.Children.Add(tbl); gInsideStage2.Children.Add(MarkMatrixForCrit); curGridLine = curGridLine + 2; } }