XtraReport_yb6156.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. using DevExpress.XtraExport.Implementation;
  2. using DevExpress.XtraReports.UI;
  3. using OTSIncAReportGB;
  4. using System;
  5. using System.Collections;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. namespace OTSIncAReportApp._1_UI.OTSReportExport
  10. {
  11. public partial class XtraReport_yb6156 : DevExpress.XtraReports.UI.XtraReport
  12. {
  13. DataTable _yB6156ABCD;
  14. public XtraReport_yb6156(DataTable yB6156ABCD)
  15. {
  16. InitializeComponent();
  17. _yB6156ABCD=yB6156ABCD;
  18. LoadData();
  19. }
  20. void LoadData()
  21. {
  22. if (_yB6156ABCD.Rows.Count < 7) return;
  23. for (int i = 0; i < _yB6156ABCD.Rows.Count - 3; i++)
  24. {
  25. XRTableRow row = xrTable_6156.Rows.LastRow;
  26. for (int j = 0; j < _yB6156ABCD.Columns.Count; j++)
  27. {
  28. row.Cells[j].Text= _yB6156ABCD.Rows[i][j].ToString();
  29. }
  30. row.HeightF = 20;
  31. xrTable_6156.InsertRowBelow(xrTable_6156.Rows.LastRow);
  32. }
  33. xrTable_6156.DeleteRow(xrTable_6156.Rows.LastRow);
  34. XRTableRow xRTableRow = new XRTableRow();
  35. XRTableCell xRTableCell = new XRTableCell();
  36. xRTableCell.Text = "总计";
  37. xRTableCell.WidthF= xrTable_6156.Rows.LastRow.Cells[0].WidthF;
  38. xRTableRow.Cells.Add(xRTableCell);
  39. XRTableCell xRTableCell1 = new XRTableCell();
  40. xRTableCell1.Text = "总检测面积:" + _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count-3][1].ToString();
  41. float aa = 0;
  42. for (int i = 1; i < 7; i++)
  43. {
  44. aa += xrTable_6156.Rows.LastRow.Cells[i].WidthF;
  45. }
  46. xRTableCell1.WidthF = aa;
  47. xRTableRow.Cells.Add(xRTableCell1);
  48. XRTableCell xRTableCell2 = new XRTableCell();
  49. xRTableCell2.Text = "第二次求和值";
  50. aa = 0;
  51. for (int i = 7; i < 14; i++)
  52. {
  53. aa += xrTable_6156.Rows.LastRow.Cells[i].WidthF;
  54. }
  55. xRTableCell2.WidthF = aa;
  56. xRTableRow.Cells.Add(xRTableCell2);
  57. XRTableCell xRTableCell3 = new XRTableCell();
  58. xRTableCell3.Text = _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count-3][14].ToString();
  59. xRTableCell3.WidthF = xrTable_6156.Rows.LastRow.Cells[14].WidthF;
  60. xRTableRow.Cells.Add(xRTableCell3);
  61. XRTableCell xRTableCell4 = new XRTableCell();
  62. xRTableCell4.Text = _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count - 3][15].ToString();
  63. xRTableCell4.WidthF = xrTable_6156.Rows.LastRow.Cells[15].WidthF;
  64. xRTableRow.Cells.Add(xRTableCell4);
  65. xrTable_6156.Rows.Add(xRTableRow);
  66. xrTable_6156.InsertRowBelow(xrTable_6156.Rows.LastRow);
  67. xrTable_6156.Rows.LastRow.Cells[2].Text = "特征值[K(S)和K(O)]";
  68. xrTable_6156.Rows.LastRow.Cells[3].Text = _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count - 2][14].ToString();
  69. xrTable_6156.Rows.LastRow.Cells[4].Text = _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count - 2][15].ToString();
  70. xrTable_6156.InsertRowBelow(xrTable_6156.Rows.LastRow);
  71. xrTable_6156.Rows.LastRow.Cells.Remove(xrTable_6156.Rows.LastRow.Cells[4]);
  72. xrTable_6156.Rows.LastRow.Cells[0].WidthF = xrTable_6156.Rows[xrTable_6156.Rows.Count-2].Cells[0].WidthF;
  73. xrTable_6156.Rows.LastRow.Cells[1].WidthF = xrTable_6156.Rows[xrTable_6156.Rows.Count - 2].Cells[1].WidthF;
  74. xrTable_6156.Rows.LastRow.Cells[2].WidthF = xrTable_6156.Rows[xrTable_6156.Rows.Count - 2].Cells[2].WidthF;
  75. xrTable_6156.Rows.LastRow.Cells[3].WidthF = xrTable_6156.Rows.LastRow.WidthF- xrTable_6156.Rows.LastRow.Cells[0].WidthF- xrTable_6156.Rows.LastRow.Cells[1].WidthF- xrTable_6156.Rows.LastRow.Cells[2].WidthF;
  76. xrTable_6156.Rows.LastRow.Cells[2].Text = "总特征值";
  77. xrTable_6156.Rows.LastRow.Cells[3].Text = _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count - 1][15].ToString();
  78. //xRTableRow = new XRTableRow();
  79. //xRTableCell = new XRTableCell();
  80. //xRTableCell.WidthF = xrTable_6156.Rows.LastRow.Cells[0].Width;
  81. //xRTableRow.Cells.Add(xRTableCell);
  82. //xRTableCell1 = new XRTableCell();
  83. //xRTableCell1.WidthF = xrTable_6156.Rows.LastRow.Cells[1].Width;
  84. //xRTableRow.Cells.Add(xRTableCell1);
  85. //xRTableCell2 = new XRTableCell();
  86. //xRTableCell2.Text = "总特征值";
  87. //xRTableCell2.WidthF = xrTable_6156.Rows.LastRow.Cells[2].Width;
  88. //xRTableRow.Cells.Add(xRTableCell2);
  89. //xRTableCell3 = new XRTableCell();
  90. //xRTableCell3.WidthF = xrTable_6156.Rows.LastRow.Cells[3].WidthF+xrTable_6156.Rows.LastRow.Cells[4].WidthF;
  91. //xRTableCell3.Text = _yB6156ABCD.Rows[_yB6156ABCD.Rows.Count - 1][15].ToString();
  92. //xRTableRow.Cells.Add(xRTableCell3);
  93. //xrTable_6156.Rows.Add(xRTableRow);
  94. AdjustLayout();
  95. }
  96. void AdjustLayout()
  97. {
  98. for (int i = 4; i + 4 < xrTable_6156.Rows.Count; i = i + 4)
  99. {
  100. xrTable_6156.Rows[i].Cells[0].RowSpan = 4;
  101. xrTable_6156.Rows[i].Cells[1].RowSpan = 4;
  102. xrTable_6156.Rows[i + 1].Cells[2].RowSpan = 3;
  103. xrTable_6156.Rows[i + 1].Cells[14].RowSpan = 3;
  104. xrTable_6156.Rows[i + 1].Cells[15].RowSpan = 3;
  105. }
  106. xrTable_6156.Rows[xrTable_6156.Rows.Count - 3].Cells[0].RowSpan = 3;
  107. xrTable_6156.Rows[xrTable_6156.Rows.Count - 3].Cells[1].RowSpan = 3;
  108. foreach (XRTableRow row in xrTable_6156.Rows)
  109. {
  110. foreach (XRTableCell cell in row.Cells)
  111. {
  112. // 设置文本水平居中和垂直居中
  113. cell.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
  114. }
  115. }
  116. }
  117. }
  118. }