From 0468353b5e2265935846b299afc38bb34ae23e24 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期一, 19 一月 2026 16:49:49 +0800
Subject: [PATCH] 完善运动控制参数存储以及加载

---
 LB_SmartVision/Forms/Pages/HistoricalDataPage/HistoricalDataEditPage.cs |   97 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 72 insertions(+), 25 deletions(-)

diff --git a/LB_SmartVision/Forms/Pages/HistoricalDataPage/HistoricalDataEditPage.cs b/LB_SmartVision/Forms/Pages/HistoricalDataPage/HistoricalDataEditPage.cs
index 7e2178f..477bcfd 100644
--- a/LB_SmartVision/Forms/Pages/HistoricalDataPage/HistoricalDataEditPage.cs
+++ b/LB_SmartVision/Forms/Pages/HistoricalDataPage/HistoricalDataEditPage.cs
@@ -1,9 +1,12 @@
-锘縰sing LB_SmartVisionCommon;
+锘縰sing LB_SmartVision.CSV;
+using LB_SmartVision.SQL;
+using LB_SmartVisionCommon;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
+using System.Globalization;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -14,9 +17,13 @@
     public partial class HistoricalDataEditPage : UserControl
     {
         public Action<string, LogInfoType> LogInfo;
+        // 淇濆瓨鍘熷鏁版嵁鐨勫垪琛�
+        private List<DataGridViewRow> originalRows = new List<DataGridViewRow>();
 
         private int row2OriginalHeight;
         private int row3OriginalHeight;
+
+        List<RecordProductData> RecordProductDatas = new List<RecordProductData>();
         public HistoricalDataEditPage()
         {
             Name = "HistoricalDataEditPage";
@@ -37,30 +44,7 @@
         /// </summary>
         private void InitializeDataGridView()
         {
-            // 璁剧疆DataGridView鍒楀
-            dataGridViewHD.ColumnCount = 4;
-
-            int totalWidth = dataGridViewHD.ClientSize.Width;
-            int columnCount = dataGridViewHD.ColumnCount;
-            int columnWidth = totalWidth / columnCount;
-
-            // 璁剧疆鏈�灏忓搴�
-            int minWidth = 100; // 鏈�灏忓搴�
-            if (columnWidth < minWidth)
-            {
-                columnWidth = minWidth;
-            }
-
-            for (int i = 0; i < columnCount; i++)
-            {
-                dataGridViewHD.Columns[i].Width = columnWidth;
-            }
-
-            // 璁剧疆鍒楁爣棰�
-            dataGridViewHD.Columns[0].Name = "SN鍙�";
-            dataGridViewHD.Columns[1].Name = "鏃堕棿";
-            dataGridViewHD.Columns[2].Name = "NG绫�";
-            dataGridViewHD.Columns[3].Name = "缂洪櫡澶у皬";
+            this.dataGridViewHD.DataSource = RecordProductDatas;
 
             dataGridViewHD.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
 
@@ -151,5 +135,68 @@
         {
             dateTimePickerEnd.MinDate = dateTimePickerStart.Value;
         }
+        public string OpenFileForSave()
+        {
+            using (SaveFileDialog saveFileDialog = new SaveFileDialog())
+            {
+                // 璁剧疆榛樿鏂囦欢鍚嶅拰鎵╁睍鍚�
+                saveFileDialog.FileName = $"鍘嗗彶鏁版嵁_{DateTime.Now:yyyyMMdd_HHmmss}";
+                saveFileDialog.DefaultExt = "xlsx";
+
+                // 璁剧疆鏂囦欢杩囨护鍣�
+                saveFileDialog.Filter = "Excel鏂囦欢 (*.xlsx)|*.xlsx|" +
+                                        "CSV鏂囦欢 (*.csv)|*.csv|" +
+                                        "鏂囨湰鏂囦欢 (*.txt)|*.txt|" +
+                                        "鎵�鏈夋枃浠� (*.*)|*.*";
+
+                saveFileDialog.Title = "閫夋嫨鏂囦欢淇濆瓨浣嶇疆";
+                saveFileDialog.RestoreDirectory = true;  // 璁颁綇涓婃鎵撳紑鐨勭洰褰�
+                saveFileDialog.OverwritePrompt = true;   // 瑕嗙洊鏃舵彁绀�
+
+                if (saveFileDialog.ShowDialog() == DialogResult.OK)
+                {
+                    string filePathHD = saveFileDialog.FileName;
+                    return filePathHD;
+                }
+            }
+
+            return null;
+        }
+        private void btnHisDataExport_Click(object sender, EventArgs e)
+        {
+            CsvDataHelperRecordProductData.SaveToCsv(OpenFileForSave(), RecordProductDatas);
+        }
+        
+        private void btnHisDataFind_Click(object sender, EventArgs e)
+        {
+            
+            DateTime startDate = dateTimePickerStart.Value.Date;
+            DateTime endDate = dateTimePickerEnd.Value.Date;
+
+            switch(comboBoxSearchBasis.SelectedIndex)
+            {
+                //渚濇嵁鏃ユ湡鏌ヨ
+                case 0:
+                    RecordProductDatas = RecordProductDataRepository.GetRecordsByTimeRange(DateTime.Parse(this.dateTimePickerStart.Value.ToString()), DateTime.Parse(this.dateTimePickerEnd.Value.ToString()));
+                    break;
+                //渚濇嵁SN鍙锋煡璇�
+                case 1:
+                    if(string.IsNullOrEmpty(textBoxSN.Text))
+                    {
+                        MessageBox.Show("璇峰~鍐橲N鍙凤紒", "鎻愮ず", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    }
+                    else
+                    {
+                        RecordProductDatas = RecordProductDataRepository.GetRecordsByProductNumber(textBoxSN.Text);
+                    }
+                        break;
+            }
+
+            this.dataGridViewHD.DataSource = RecordProductDatas;
+            this.dataGridViewHD.AutoGenerateColumns = true;
+
+        }
+
     }
 }
+

--
Gitblit v1.9.3