Пример #1
0
        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);
        }
Пример #2
0
        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;
            }
        }