From b285a8905bfcba473fa2ea4f243daee894d8ef39 Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期四, 19 十二月 2024 22:16:20 +0800
Subject: [PATCH] 通用模块曲线编辑修改

---
 WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/02-edit/UniversalEditChart.cs |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/02-edit/UniversalEditChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/02-edit/UniversalEditChart.cs
index 7e579d1..bb79f0f 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/02-edit/UniversalEditChart.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/02-universal/02-edit/UniversalEditChart.cs
@@ -171,10 +171,13 @@
         public void SetBindingData(List<Yw.Geometry.Point2d> point_pt_list, List<Yw.Geometry.Point2d> line_pt_list, string coordinate = null, Color? color = null)
         {
             _initial_data = false;
-            _point_pt_list = point_pt_list;
-            _line_pt_list = line_pt_list;
+            _point_pt_list = point_pt_list?.Select(x => new Geometry.Point2d(x.X, x.Y)).ToList(); 
+            _line_pt_list = line_pt_list?.Select(x => new Geometry.Point2d(x.X, x.Y)).ToList();
             _coordinate = UniversalCoordinate.ToModel(coordinate);
             _series_pt = null;
+
+            if (color == null)
+                color = Color.DodgerBlue;
 
             this.chartControl1.BeginInit();
             this.chartControl1.Series.Clear();
@@ -199,9 +202,7 @@
 
         //鏄惁鏄棤鏁堟暟鎹�
         private bool IsInvalidData()
-        {
-            if (!_initial_data)
-                return true;
+        { 
             if (_point_pt_list == null || !_point_pt_list.Any())
             {
                 return true;
@@ -209,9 +210,7 @@
             if (_line_pt_list == null || !_line_pt_list.Any())
             {
                 return true;
-            }
-            if (_series_pt == null)
-                return true;
+            } 
             return false;
         }
 
@@ -237,6 +236,7 @@
             {
                 var pt = pt_list[i];
                 var series_pt = new DevExpress.XtraCharts.SeriesPoint(pt.X, new double[] { pt.Y });
+                series_pt.Tag = i;
                 series_pt_list.Add(series_pt);
             }
         
@@ -430,6 +430,8 @@
                 return; 
             var x = _series_pt.Points[_pick_point_index].NumericalArgument;
             var y = _series_pt.Points[_pick_point_index].Values[0];
+            x = Math.Round(x, 2);
+            y = Math.Round(y, 2);
             SetPointValue(_pick_point_index, x, y);
             _pick_point_index = -1;
         }
@@ -462,6 +464,10 @@
             {
                 x += space_x;
             }
+            x = Math.Round(x, 2);
+            y = Math.Round(y, 2);
+            _series_pt.Points[_pick_point_index].NumericalArgument = x;
+            _series_pt.Points[_pick_point_index].Values[0] = y;
             SetPointValue(_pick_point_index, x, y);
         }
 

--
Gitblit v1.9.3