internal virtual void vmethod_0() { int row = this.cellExt_0.Row; int col = this.cellExt_0.Col; int num3 = this.cellExt1_1.RowSize - 1; int num4 = this.cellExt1_1.ColSize - 1; int num5 = this.Int32_0; int num6 = (row + num5) + 1; int num7 = (num3 - num5) - 1; if (num7 < 0) { num7 = 0; } this.cellExt1_0.vmethod_0(num6, num7); for (int i = num6; i < (num6 + num7); i++) { if (this.cellExt1_0.getCell(i, 0) == null) { this.cellExt1_0.vmethod_3(i, 0, this.cellExt1_1.getCell((((num3 - num6) - num7) + i) + 1, 0)); } } int num17 = this.Int32_1; int num13 = (col + num17) + 1; int num14 = (num4 - num17) - 1; if (num14 < 0) { num14 = 0; } int colSize = this.cellExt1_0.ColSize; this.cellExt1_0.vmethod_2(num13, num14, row, (row + num3) - 1, false); for (int j = colSize; j < (num13 + num14); j++) { if (this.cellExt1_0.getCell(0, j) == null) { this.cellExt1_0.vmethod_3(0, j, this.cellExt1_1.getCell(0, (j - col) + 1)); } } for (int k = 1; k <= num3; k++) { for (int m = 1; m <= num4; m++) { CellExt ext = this.cellExt1_1.getCell(k, m); if ((ext != null) && !this.cellExt1_1.isMerged(k, m)) { this.cellExt1_0.vmethod_3((row + k) - 1, (col + m) - 1, ext); if (ext.EndCol == ((col + num4) - 1)) { for (int n = ext.Row; n <= Math.Min(ext.EndRow, num6 - 1); n++) { CellExt ext3 = this.cellExt1_0.getCell(n, ext.EndCol + 1); if (ext3 != null) { ext3.setPropValue(701, ext.getPropValue(704)); ext3.setPropValue(702, ext.getPropValue(705)); ext3.setPropValue(703, ext.getPropValue(706)); } } } if (ext.EndRow == ((row + num3) - 1)) { for (int num10 = ext.Col; num10 <= ext.EndCol; num10++) { CellExt ext2 = this.cellExt1_0.getCell(ext.EndRow + 1, num10); if (ext2 != null) { ext2.setPropValue(707, ext.getPropValue(710)); ext2.setPropValue(708, ext.getPropValue(711)); ext2.setPropValue(709, ext.getPropValue(712)); } } } } } } }
public virtual void calculate() { this.method_1(); StringBuilder builder = new StringBuilder("<root>"); StringBuilder builder2 = new StringBuilder("<hide>"); CellExt ext = this.cellExt1_0.getCell(0, 0); for (int i = 0; i < this.cellExt1_0.RowSize; i++) { for (int j = 0; j < this.cellExt1_0.ColSize; j++) { CellExt ext2 = this.cellExt1_0.getCell(i, j); if ((ext2 != null) && !this.cellExt1_0.isMerged(i, j)) { string str = this.method_6(ext2, 611); if (str != null) { int num7 = -1; Class7 class3 = null; string str3 = this.method_6(ext2, 615); if (str3 != null) { num7 = Convert.ToInt32(str3); class3 = this.method_0(this.method_6(ext2, 613)); if ((num7 != PropertyDefine.IN_EXT_TYPE_ATTACHED) && (num7 != PropertyDefine.IN_EXT_TYPE_FIXED)) { if (PropertyDefine.CEX_VERTICAL.Equals(ext2.Extensible) && (class3.startRow == -1)) { class3.startRow = i; } } else { string[] strArray2; if (num7 != PropertyDefine.IN_EXT_TYPE_FIXED) { int num9 = this.method_2(ext2, class3); strArray2 = (string[])class3.records[num9]; if ((ext2.getLeftHead() != ext) && (ext2.getTopHead() != ext)) { ext2.setPropResult(616, num9); class3.isCross = true; } } else { if (class3.records.Count == 0) { string[] strArray3 = new string[class3.cols]; class3.records.Add(strArray3); } strArray2 = (string[])class3.records[0]; } strArray2[Convert.ToInt32(this.method_6(ext2, 614))] = Convert.ToString(ext2.GetValue(false)); } } if ((num7 != PropertyDefine.IN_EXT_TYPE_ATTACHED) && (num7 != PropertyDefine.IN_EXT_TYPE_EXTEND)) { builder2.Append("<" + str + ">"); string str2 = "1"; if (this.method_6(ext2, 612) != null) { str2 = "0"; } builder2.Append(str2); builder2.Append("</" + str + ">"); } else if ((this.method_6(ext2, 612) == null) && !class3.moveConts.Contains(str)) { class3.moveConts.Add(str); } } } } } builder2.Append("</hide>"); builder.Append(builder2); StringBuilder builder3 = new StringBuilder("<conts>"); if (this.arrayList_0 != null) { builder.Append("<dss>"); for (int k = 0; k < this.arrayList_0.Count; k++) { Class7 class2 = (Class7)this.arrayList_0[k]; builder.Append("<" + class2.id + ">"); for (int m = 0; m < class2.records.Count; m++) { builder.Append("<tr>"); string[] strArray = (string[])class2.records[m]; for (int num5 = 0; num5 < strArray.Length; num5++) { builder.Append("<td>"); builder.Append(StringUtils.repXml(strArray[num5])); builder.Append("</td>"); } builder.Append("</tr>"); } builder.Append("</" + class2.id + ">"); builder3.Append("<" + class2.id + ">"); builder3.Append("<startRow>"); if (!class2.isCross && (class2.startRow != -1)) { builder3.Append(Convert.ToString(class2.startRow - 1)); } builder3.Append("</startRow>"); builder3.Append("<contsId>"); for (int n = 0; n < class2.moveConts.Count; n++) { builder3.Append((string)class2.moveConts[n]); if (n < (class2.moveConts.Count - 1)) { builder3.Append(","); } } builder3.Append("</contsId>"); builder3.Append("</" + class2.id + ">"); } builder.Append("</dss>"); } builder3.Append("</conts>"); builder.Append(builder3); builder.Append("</root>"); ext.setPropValue(601, builder.ToString()); }