From ccc1b0d541d8f3bdd2bcb72dd0b5533e68b886d5 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期一, 09 六月 2025 09:53:37 +0800
Subject: [PATCH] 采购明细报表

---
 DevApp/Gs.DevApp/UserControl/showLayOut.cs |   98 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 82 insertions(+), 16 deletions(-)

diff --git a/DevApp/Gs.DevApp/UserControl/showLayOut.cs b/DevApp/Gs.DevApp/UserControl/showLayOut.cs
index 898e65b..bd71af9 100644
--- a/DevApp/Gs.DevApp/UserControl/showLayOut.cs
+++ b/DevApp/Gs.DevApp/UserControl/showLayOut.cs
@@ -1,14 +1,12 @@
 锘縰sing DevExpress.XtraEditors;
+using DevExpress.XtraGrid.Views.Grid;
+using DevExpress.XtraLayout;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
+using System.IO;
 using System.Text;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.UserControl
@@ -16,26 +14,99 @@
     public partial class showLayOut : DevExpress.XtraEditors.XtraForm
     {
         string formNamespace = "";
-        public showLayOut(string _formNamespace)
+        List<GridView> gridViews = new List<GridView>();
+        List<DevExpress.XtraLayout.LayoutControl> layList = new List<DevExpress.XtraLayout.LayoutControl>();
+        List<DevExpress.XtraEditors.SplitContainerControl> spcList = new List<DevExpress.XtraEditors.SplitContainerControl>();
+        public showLayOut(string _formNamespace, List<GridView> _gridViews, List<DevExpress.XtraLayout.LayoutControl> _layList, List<DevExpress.XtraEditors.SplitContainerControl> _spcList)
         {
-            formNamespace= _formNamespace;
+            formNamespace = _formNamespace;
+            gridViews = _gridViews;
+            layList = _layList;
+            spcList = _spcList;
             InitializeComponent();
             this.btnCancel.Click += BtnCancel_Click;
             this.btnSave.Click += BtnSave_Click;
         }
-
         private void BtnSave_Click(object sender, EventArgs e)
+        {
+            _setLyout();
+        }
+
+        private void BtnCancel_Click(object sender, EventArgs e)
+        {
+            Close();
+        }
+
+        private void _setLyout()
         {
             if (txt_layOut.SelectedIndex <= 0)
             {
                 MsgHelper.Warning("璇烽�夋嫨閫傜敤鑼冨洿锛�");
                 return;
             }
+            List<dynamic> xmlList = new List<dynamic>();
+            foreach (GridView gridView1 in gridViews)
+            {
+                System.IO.Stream stream = new System.IO.MemoryStream();
+                gridView1.SaveLayoutToStream(stream);
+                stream.Seek(0, System.IO.SeekOrigin.Begin);
+                StringBuilder sb = new StringBuilder();
+                using (StreamReader reader = new StreamReader(stream))
+                {
+                    char[] buffer = new char[4096]; // 缂撳啿鍖哄ぇ灏忔牴鎹渶瑕佽皟鏁�
+                    int numCharsRead;
+                    while ((numCharsRead = reader.Read(buffer, 0, buffer.Length)) > 0)
+                    {
+                        sb.Append(buffer, 0, numCharsRead);
+                    }
+                }
+                xmlList.Add(
+                       new { idType = "gridview", idName = gridView1.Name, idXml = sb.ToString(), splitterPosition = "" }
+                 );
+            }
+            foreach (LayoutControl lay1 in layList)
+            {
+                System.IO.Stream stream = new System.IO.MemoryStream();
+                lay1.SaveLayoutToStream(stream);
+                stream.Seek(0, System.IO.SeekOrigin.Begin);
+                StringBuilder sb = new StringBuilder();
+                using (StreamReader reader = new StreamReader(stream))
+                {
+                    char[] buffer = new char[4096]; // 缂撳啿鍖哄ぇ灏忔牴鎹渶瑕佽皟鏁�
+                    int numCharsRead;
+                    while ((numCharsRead = reader.Read(buffer, 0, buffer.Length)) > 0)
+                    {
+                        sb.Append(buffer, 0, numCharsRead);
+                    }
+                }
+                xmlList.Add(
+                       new { idType = "layoutcontrol ", idName = lay1.Name, idXml = sb.ToString(), splitterPosition = "" }
+                 );
+            }
+            foreach (SplitContainerControl splt in spcList)
+            {
+                System.IO.Stream stream = new System.IO.MemoryStream();
+                splt.SaveLayoutToStream(stream);
+                stream.Seek(0, System.IO.SeekOrigin.Begin);
+                StringBuilder sb = new StringBuilder();
+                using (StreamReader reader = new StreamReader(stream))
+                {
+                    char[] buffer = new char[4096]; // 缂撳啿鍖哄ぇ灏忔牴鎹渶瑕佽皟鏁�
+                    int numCharsRead;
+                    while ((numCharsRead = reader.Read(buffer, 0, buffer.Length)) > 0)
+                    {
+                        sb.Append(buffer, 0, numCharsRead);
+                    }
+                }
+                xmlList.Add(
+                       new { idType = "splitcontainercontrol ", idName = splt.Name, idXml = sb.ToString(), splitterPosition = splt.SplitterPosition }
+                 );
+            }
             var _obj = new
             {
-                applyUserGuid = txt_layOut.SelectedIndex,
-                layoutLst= "col1,100,101,102,103,104,105,1,title&gridview1=col2,100,101,102,103,104,105,1,title",
-                formPath = formNamespace
+                xmlList = xmlList,
+                formPath = formNamespace,
+                intType = txt_layOut.SelectedIndex,
             };
             try
             {
@@ -58,11 +129,6 @@
                 DialogResult = DialogResult.Cancel;
                 MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
-        }
-
-        private void BtnCancel_Click(object sender, EventArgs e)
-        {
-            Close();
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3