From ad8f813f5eddd66740b4e09801e4ea02ddf70a4a Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期三, 19 二月 2025 15:58:22 +0800 Subject: [PATCH] 继续优化报表 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/99-test/XtraReport1.cs | 197 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 154 insertions(+), 43 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/99-test/XtraReport1.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/99-test/XtraReport1.cs index 38a6f12..5cd9db1 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/99-test/XtraReport1.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/99-test/XtraReport1.cs @@ -134,7 +134,7 @@ headerRowPumpList.Cells.Add(CreateTableCell("缂栫爜", 100)); headerRowPumpList.Cells.Add(CreateTableCell("棰濆畾娴侀噺", 100)); headerRowPumpList.Cells.Add(CreateTableCell("棰濆畾鎵▼", 100)); - headerRowPumpList.Cells.Add(CreateTableCell("棰濆畾鍔熺巼", 100)); + headerRowPumpList.Cells.Add(CreateTableCell("棰濆畾鍔熺巼(KW)", 100)); headerRowPumpList.Cells.Add(CreateTableCell("棰濆畾杞��", 100)); // 灏嗚〃澶磋娣诲姞鍒拌〃鏍� @@ -369,12 +369,19 @@ // 鍒涘缓 XY 鍥捐〃 XYDiagram xyDiagram = new XYDiagram(); ((System.ComponentModel.ISupportInitialize)(xyDiagram)).BeginInit(); + // 璁剧疆 X 杞翠富瑕佺綉鏍肩嚎鍙 + xyDiagram.AxisX.GridLines.Visible = true; + // 璁剧疆 X 杞翠富瑕佸埢搴﹂棿闅旓紝鍙牴鎹渶姹傝皟鏁磋鍊硷紝鍊艰秺灏忕綉鏍艰秺瀵� + xyDiagram.AxisX.Tickmarks.Thickness = 1; + // 璁剧疆 Y 杞翠富瑕佺綉鏍肩嚎鍙 + xyDiagram.AxisY.GridLines.Visible = true; + // 璁剧疆 Y 杞翠富瑕佸埢搴﹂棿闅旓紝鍙牴鎹渶姹傝皟鏁磋鍊硷紝鍊艰秺灏忕綉鏍艰秺瀵� + xyDiagram.AxisX.Tickmarks.Thickness = 1; // 閰嶇疆涓� X 杞� xyDiagram.AxisX.Title.Text = "娴侀噺(m鲁/h)"; xyDiagram.AxisX.Title.Visibility = DefaultBoolean.True; xyDiagram.AxisX.Visibility = DefaultBoolean.True; - xyDiagram.AxisX.Alignment = AxisAlignment.Far; // 灏� X 杞磋缃湪鍥捐〃搴曢儴 // 閰嶇疆涓� Y 杞� xyDiagram.AxisY.Title.Text = "鎵▼/m"; @@ -392,15 +399,23 @@ // 鍒涘缓娆¤ Y 杞� SecondaryAxisY secondaryAxisY1 = new SecondaryAxisY("Secondary Y-Axis 1"); - secondaryAxisY1.Title.Text = "鍔熺巼"; + secondaryAxisY1.Title.Text = "鍔熺巼(KW)"; secondaryAxisY1.Title.Visibility = DefaultBoolean.True; secondaryAxisY1.Visibility = DefaultBoolean.True; + secondaryAxisY1.GridLines.Visible = true; + secondaryAxisY1.Tickmarks.Thickness = 1; + secondaryAxisY1.GridLines.Color = Color.LightGray; + xyDiagram.SecondaryAxesY.Add(secondaryAxisY1); SecondaryAxisY secondaryAxisY2 = new SecondaryAxisY("Secondary Y-Axis 2"); - secondaryAxisY2.Title.Text = "鏁堢巼"; + secondaryAxisY2.Title.Text = "鏁堢巼(%)"; secondaryAxisY2.Title.Visibility = DefaultBoolean.True; secondaryAxisY2.Visibility = DefaultBoolean.True; + secondaryAxisY2.GridLines.Visible = true; + secondaryAxisY2.Tickmarks.Thickness = 1; + secondaryAxisY2.GridLines.Color = Color.LightGray; + xyDiagram.SecondaryAxesY.Add(secondaryAxisY2); chart.Diagram = xyDiagram; @@ -538,54 +553,112 @@ this.Detail.Controls.Add(label); currentY += 20F; - XRChart chartQh = new XRChart(); - chartQh.LocationF = new DevExpress.Utils.PointFloat(0F, currentY); - chartQh.WidthF = contentWidth; - chartQh.HeightF = 300F; + XRChart chart = new XRChart(); + ((System.ComponentModel.ISupportInitialize)(chart)).BeginInit(); + chart.LocationF = new DevExpress.Utils.PointFloat(0F, currentY); + chart.WidthF = contentWidth; + chart.HeightF = 600F; + chart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; - XRChart chartQE = new XRChart(); - chartQE.LocationF = new DevExpress.Utils.PointFloat(0F, currentY + chartQh.HeightF); - chartQE.WidthF = contentWidth; - chartQE.HeightF = 300F; + // 鍒涘缓 XY 鍥捐〃 + XYDiagram xyDiagram = new XYDiagram(); + ((System.ComponentModel.ISupportInitialize)(xyDiagram)).BeginInit(); - XRChart chartQP = new XRChart(); - chartQP.LocationF = new DevExpress.Utils.PointFloat(0F, currentY + chartQh.HeightF + chartQE.HeightF); - chartQP.WidthF = contentWidth; - chartQP.HeightF = 300F; + // 璁剧疆 X 杞翠富瑕佺綉鏍肩嚎鍙 + xyDiagram.AxisX.GridLines.Visible = true; + // 璁剧疆 X 杞翠富瑕佸埢搴﹂棿闅旓紝鍙牴鎹渶姹傝皟鏁磋鍊硷紝鍊艰秺灏忕綉鏍艰秺瀵� + xyDiagram.AxisX.Tickmarks.Thickness = 1; + // 璁剧疆 Y 杞翠富瑕佺綉鏍肩嚎鍙 + xyDiagram.AxisY.GridLines.Visible = true; + // 璁剧疆 Y 杞翠富瑕佸埢搴﹂棿闅旓紝鍙牴鎹渶姹傝皟鏁磋鍊硷紝鍊艰秺灏忕綉鏍艰秺瀵� + xyDiagram.AxisX.Tickmarks.Thickness = 1; + // 閰嶇疆涓� X 杞� + xyDiagram.AxisX.Title.Text = "娴侀噺(m鲁/h)"; + xyDiagram.AxisX.Title.Visibility = DefaultBoolean.True; + xyDiagram.AxisX.Visibility = DefaultBoolean.True; + + // 閰嶇疆涓� Y 杞� + xyDiagram.AxisY.Title.Text = "鎵▼/m"; + xyDiagram.AxisY.Title.Visibility = DefaultBoolean.True; + xyDiagram.AxisY.Visibility = DefaultBoolean.True; + //xyDiagram.AxisY.Alignment = AxisAlignment.Zero; // 璁剧疆 Y 杞翠笌 X 杞村叡鐢ㄩ浂鐐� + + // 鍒涘缓涓や釜闈㈡澘 + XYDiagramPane pane1 = new XYDiagramPane(); + pane1.Name = "Pane 1"; + xyDiagram.Panes.Add(pane1); + + XYDiagramPane pane2 = new XYDiagramPane(); + pane2.Name = "Pane 2"; + xyDiagram.Panes.Add(pane2); + + // 鍒涘缓娆¤ Y 杞� + SecondaryAxisY secondaryAxisY1 = new SecondaryAxisY("Secondary Y-Axis 1"); + secondaryAxisY1.Title.Text = "鍔熺巼(KW)"; + secondaryAxisY1.Title.Visibility = DefaultBoolean.True; + secondaryAxisY1.Visibility = DefaultBoolean.True; + secondaryAxisY1.GridLines.Visible = true; + secondaryAxisY1.Tickmarks.Thickness = 1; + secondaryAxisY1.GridLines.Color = Color.LightGray; + + xyDiagram.SecondaryAxesY.Add(secondaryAxisY1); + + SecondaryAxisY secondaryAxisY2 = new SecondaryAxisY("Secondary Y-Axis 2"); + secondaryAxisY2.Title.Text = "鏁堢巼(%)"; + secondaryAxisY2.Title.Visibility = DefaultBoolean.True; + secondaryAxisY2.Visibility = DefaultBoolean.True; + secondaryAxisY2.GridLines.Visible = true; + secondaryAxisY2.Tickmarks.Thickness = 1; + secondaryAxisY2.GridLines.Color = Color.LightGray; + + xyDiagram.SecondaryAxesY.Add(secondaryAxisY2); + + chart.Diagram = xyDiagram; + ((System.ComponentModel.ISupportInitialize)(xyDiagram)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(chart)).EndInit(); foreach (var valve in item) { - // 鍒涘缓涓�涓嚎绯诲垪 - Series series = new Series(valve.Code, ViewType.Spline); - // 娣诲姞鏁版嵁鐐� - foreach (var qh in valve.CurrentCurveQH) + // 鍒涘缓绗竴涓郴鍒� + Series series1 = new Series("Series 1", ViewType.Spline); + if (valve.CurrentCurveQH != null) { - series.Points.Add(new SeriesPoint(qh.X.ToString(), qh.Y.ToString())); + foreach (var qh in valve.CurrentCurveQH) + { + series1.Points.Add(new SeriesPoint(qh.X, qh.Y)); + } + series1.LabelsVisibility = DefaultBoolean.False; + chart.Series.Add(series1); } - chartQh.Series.Add(series); - - Series series2 = new Series("Series2", ViewType.Spline); - // 娣诲姞鏁版嵁鐐� - foreach (var qe in valve.CurrentCurveQE) + // 鍒涘缓绗簩涓郴鍒� + Series series2 = new Series("Series 2", ViewType.Spline); + if (valve.CurrentCurveQE != null) { - series2.Points.Add(new SeriesPoint(qe.X.ToString(), qe.Y.ToString())); + foreach (var qe in valve.CurrentCurveQE) + { + series2.Points.Add(new SeriesPoint(qe.X, qe.Y)); + } + ((XYDiagramSeriesViewBase)series2.View).Pane = pane2; + ((XYDiagramSeriesViewBase)series2.View).AxisY = secondaryAxisY2; + series2.LabelsVisibility = DefaultBoolean.False; + chart.Series.Add(series2); } - chartQE.Series.Add(series2); - - Series series3 = new Series("Series3", ViewType.Spline); - // 娣诲姞鏁版嵁鐐� - foreach (var qp in valve.CurrentCurveQP) + // 鍒涘缓绗笁涓郴鍒� + Series series3 = new Series("Series 3", ViewType.Spline); + if (valve.RatedCurveQP != null) { - series3.Points.Add(new SeriesPoint(qp.X.ToString(), qp.Y.ToString())); + foreach (var qp in valve.RatedCurveQP) + { + series3.Points.Add(new SeriesPoint(qp.X, qp.Y)); + } + ((XYDiagramSeriesViewBase)series3.View).Pane = pane1; + ((XYDiagramSeriesViewBase)series3.View).AxisY = secondaryAxisY1; + series3.LabelsVisibility = DefaultBoolean.False; + chart.Series.Add(series3); } - chartQP.Series.Add(series3); } - - this.Detail.Controls.Add(chartQh); - this.Detail.Controls.Add(chartQE); - this.Detail.Controls.Add(chartQP); - - currentY += chartQh.HeightF + chartQE.HeightF + chartQP.HeightF; + Detail.Controls.Add(chart); + currentY += chart.HeightF; } } } @@ -661,12 +734,46 @@ }); dataRow.Cells.Add(new XRTableCell() { - Text = item.CurrentQ?.ToString(), + Text = item.CurrentQ?.ToString("F2"), WidthF = 100F, TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter, Borders = DevExpress.XtraPrinting.BorderSide.All }); - + dataRow.Cells.Add(new XRTableCell() + { + Text = item.CurrentPr1?.ToString("F2"), + WidthF = 100F, + TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter, + Borders = DevExpress.XtraPrinting.BorderSide.All + }); + dataRow.Cells.Add(new XRTableCell() + { + Text = item.CurrentPr2?.ToString("F2"), + WidthF = 100F, + TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter, + Borders = DevExpress.XtraPrinting.BorderSide.All + }); + dataRow.Cells.Add(new XRTableCell() + { + Text = item.CurrentH?.ToString("F2"), + WidthF = 100F, + TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter, + Borders = DevExpress.XtraPrinting.BorderSide.All + }); + dataRow.Cells.Add(new XRTableCell() + { + Text = item.CurrentP?.ToString("F2"), + WidthF = 100F, + TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter, + Borders = DevExpress.XtraPrinting.BorderSide.All + }); + dataRow.Cells.Add(new XRTableCell() + { + Text = item.CurrentE?.ToString("F2"), + WidthF = 100F, + TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter, + Borders = DevExpress.XtraPrinting.BorderSide.All + }); tableForEnergyDetails.Rows.Add(dataRow); } // 灏嗚〃鏍兼坊鍔犲埌Detail @@ -692,11 +799,14 @@ chart.LocationF = new DevExpress.Utils.PointFloat(0F, currentY); chart.WidthF = contentWidth; chart.HeightF = 300F; - + chart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; // 鍒涘缓涓�涓嚎绯诲垪 Series series = new Series("Series1", ViewType.Area); Series series2 = new Series("Series2", ViewType.Area); Series series3 = new Series("Series3", ViewType.Area); + series.LabelsVisibility = DefaultBoolean.False; + series2.LabelsVisibility = DefaultBoolean.False; + series3.LabelsVisibility = DefaultBoolean.False; // 娣诲姞鏁版嵁鐐� foreach (var item in working.LossCurve.End.Items) { @@ -739,6 +849,7 @@ currentY += accuracyScaleChart.HeightF; var CategoryChart = CreateCategory(working.LossStatistics, 727F, 230F, 0F, currentY); Detail.Controls.Add(CategoryChart); + currentY += CategoryChart.HeightF; } } -- Gitblit v1.9.3