private void CreateStaticColumns() { // ��������� ��������� ������� - ������� left crosstab StaticColumns.Clear(); cOrderID = new BookColumn(1, 1, 0, 2, "qaonr", "�������", 70, true, false, FormulaType.None, AlignmentEnum.RightCenter, MaskEnum.Letter); StaticColumns.Add(cOrderID); cDateTime = new BookColumn(2, 2, 0, 2, "qaodecisiontime", "���� � ����� �������������", 110, true, false, FormulaType.None, AlignmentEnum.LeftCenter, MaskEnum.Letter); StaticColumns.Add(cDateTime); cCertificate = new BookColumn(3, 3, 0, 2, "batchno", "�������", 60, true, true, FormulaType.None, AlignmentEnum.RightCenter, MaskEnum.DefaultMask); StaticColumns.Add(cCertificate); StaticColumns.Add(new BookColumn(4, 6, 0, 0, "", "���������", 1, true, false, FormulaType.None, AlignmentEnum.RightCenter, MaskEnum.DefaultMask)); cTank = new BookColumn(4, 4, 1, 2, "tank", "�", 40, true, false, FormulaType.None, AlignmentEnum.RightCenter, MaskEnum.Numeric); StaticColumns.Add(cTank); cLevel = new BookColumn(5, 5, 1, 2, "tanklevel", "�������, ��", 70, true, true, FormulaType.None, AlignmentEnum.RightCenter, MaskEnum.Numeric); StaticColumns.Add(cLevel); cMass = new BookColumn(6, 6, 1, 2, "tankmass", "�����, �", 60, true, false, FormulaType.None, AlignmentEnum.RightCenter, MaskEnum.Numeric); StaticColumns.Add(cMass); }
// ��� ������� ������ ������������: �����, ��� �����, ������ � ������� � ������� ������ private void GetCurrentCellInfo(out Plant CurrentPlant, out ReportPart CurrentPart, out DataRow CurrentRow, out BookColumn CurrentBookColumn) { // ���� �����, ������ ������� �������� CurrentPlant = null; CurrentPart = null; CurrentBookColumn = null; CurrentRow = null; foreach (ReportPart part in Parts) { CurrentRow = part.GetDataRow(FM.CurrentRow); if (CurrentRow != null) { CurrentPart = part; if (CurrentPart.Data != null && CurrentPart.Data.Rows.Count > 0) CurrentPlant = plants.FindPlant(Convert.ToInt32(CurrentPart.Data[0, "plantid"])); break; } } // ���� ���������� ������� if (CurrentPart != null) CurrentBookColumn = CurrentPart.DynamicColumns.Search(FM.CurrentColumn); }
private void CreateDynamicColumns(ReportPart part) { // ��������� ������������ ������� - ��� ���������� top crosstab � ���� part.DynamicColumns.Clear(); BookColumn TextColumn, GroupColumn; int lastcolumn = StaticColumns.LastColumn+1; foreach (DataRow Module in part.Columns.Rows) { if (Module["TestGroup"].ToString() == "") { TextColumn = new BookColumn(lastcolumn, lastcolumn, 0, 1, "", Module["TextModule"].ToString(), 100, true, false, FormulaType.MinMaxAvg, AlignmentEnum.RightCenter, MaskEnum.Numeric); TextColumn.fontsize = 8; part.DynamicColumns.Add(TextColumn); lastcolumn++; } else { GroupColumn = part.DynamicColumns.Search("", Module["TestGroup"].ToString()); // ���������� �����, ����� ������� � ���������� ������� ������������ � ������������ � ������ ����� - � ����� ������ ������� if (GroupColumn == null || (GroupColumn != null && GroupColumn.column2 + 1 != lastcolumn)) { // ����� ������ GroupColumn = new BookColumn(lastcolumn, lastcolumn, 0, 0, "", Module["TestGroup"].ToString(), 100, true, false, FormulaType.None, AlignmentEnum.CenterCenter, MaskEnum.Numeric); GroupColumn.isgroup = true; GroupColumn.fontsize = 8; part.DynamicColumns.Add(GroupColumn); } else { // ������������ ������� ������ ������ GroupColumn.column2 = lastcolumn; } TextColumn = new BookColumn(lastcolumn, lastcolumn, 1, 1, "", Module["TextModule"].ToString(), 100, true, false, FormulaType.MinMaxAvg, AlignmentEnum.RightCenter, MaskEnum.Numeric); part.DynamicColumns.Add(TextColumn); TextColumn.fontsize = 8; lastcolumn++; } } }