public override void Init() { GameService.DbContext.GameResultValueSet.Where(f => f.GameResult.Game.StageId == Stage.Id).Load(); Data = new Dictionary <CompetitionReferee, DataTable>(); var refereeIndex = 1; foreach (var referee in GameService.DbContext.CompetitionRefereeSet.Where(f => f.CompetitionId == Stage.CompetitionId)) { var page = new Janus.Windows.UI.Tab.UITabPage(referee.IsMainReferee ? "Гл. судья" : "Судья №" + refereeIndex.ToString()) { Tag = referee }; if (!referee.IsMainReferee) { refereeIndex++; } refereeTabs.TabPages.Add(page); var grid = new GridEX() { Dock = DockStyle.Fill, Name = "gridReferee" }; page.Controls.Add(grid); var dt = GetTable(Stage, referee); grid.DataSource = dt; grid.RetrieveStructure(); grid.RootTable.Columns["Команда"].EditType = EditType.NoEdit; if (grid.RootTable.Columns.Contains("Жеребьевка")) { grid.RootTable.Columns["Жеребьевка"].EditType = EditType.NoEdit; grid.RootTable.SortKeys.Add(grid.RootTable.Columns["Жеребьевка"], Janus.Windows.GridEX.SortOrder.Ascending); } else { grid.RootTable.SortKeys.Add(grid.RootTable.Columns["Команда"], Janus.Windows.GridEX.SortOrder.Ascending); } grid.GroupByBoxVisible = false; grid.ColumnAutoSizeMode = ColumnAutoSizeMode.ColumnHeader; grid.ColumnAutoResize = true; grid.RootTable.Columns.Cast <GridEXColumn>().ToList().ForEach(f => { if (dt.Columns[f.DataMember].DataType == typeof(int)) { var condition = new GridEXFormatCondition(); condition.Column = f; condition.ConditionOperator = ConditionOperator.IsEmpty; condition.FormatStyle.BackColor = Color.LightBlue; condition.TargetColumn = f; grid.RootTable.FormatConditions.Add(condition); } }); Data.Add(referee, dt); dt.RowChanged += dt_RowChanged; grid.RowHeaderContent = RowHeaderContent.RowPosition; grid.RowHeaders = InheritableBoolean.True; grid.EnsureVisible(1); } /* * var analizPage = new Janus.Windows.UI.Tab.UITabPage("Анализ") * { * * }; * * refereeTabs.TabPages.Add(analizPage); * var analiz = new StageResultCalculatorView() { Dock = DockStyle.Fill, Stage = Stage }; * analiz.Init(Stage.Competition); * analizPage.Controls.Add(analiz); */ }