From 73d47d0d2ff835761df928c5897a1535b9b4f3bd Mon Sep 17 00:00:00 2001
From: lu <123456>
Date: 星期二, 12 八月 2025 08:41:57 +0800
Subject: [PATCH] bug
---
DevApp/Gs.DevApp/UserControl/showLayOut.cs | 119 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 69 insertions(+), 50 deletions(-)
diff --git a/DevApp/Gs.DevApp/UserControl/showLayOut.cs b/DevApp/Gs.DevApp/UserControl/showLayOut.cs
index 503f370..bd71af9 100644
--- a/DevApp/Gs.DevApp/UserControl/showLayOut.cs
+++ b/DevApp/Gs.DevApp/UserControl/showLayOut.cs
@@ -1,9 +1,12 @@
-锘縰sing DevExpress.XtraGrid.Columns;
+锘縰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.IO;
+using System.Text;
using System.Windows.Forms;
namespace Gs.DevApp.UserControl
@@ -12,24 +15,21 @@
{
string formNamespace = "";
List<GridView> gridViews = new List<GridView>();
- public showLayOut(string _formNamespace, List<GridView> _gridViews)
+ 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;
gridViews = _gridViews;
+ layList = _layList;
+ spcList = _spcList;
InitializeComponent();
this.btnCancel.Click += BtnCancel_Click;
this.btnSave.Click += BtnSave_Click;
- this.btnHf.Click += BtnHf_Click;
}
-
- private void BtnHf_Click(object sender, EventArgs e)
- {
- _setLyout(0);
- }
-
private void BtnSave_Click(object sender, EventArgs e)
{
- _setLyout(1);
+ _setLyout();
}
private void BtnCancel_Click(object sender, EventArgs e)
@@ -37,57 +37,76 @@
Close();
}
-
- private void _setLyout(int type)
+ private void _setLyout()
{
- // --col1,100,101,102,103,104,105,1,title&col2,100,101,102,103,104,105,1,title
if (txt_layOut.SelectedIndex <= 0)
{
MsgHelper.Warning("璇烽�夋嫨閫傜敤鑼冨洿锛�");
return;
}
- GridView gridView1 = gridViews[0];
- System.Text.StringBuilder sb = new System.Text.StringBuilder();
- foreach (GridColumn column in gridView1.Columns)
+ List<dynamic> xmlList = new List<dynamic>();
+ foreach (GridView gridView1 in gridViews)
{
- string controlId = column.Name;
- int controlPosX = 0;
- int controlPosY = 0;
- int controlWidth = 0;
- int controlMinWidth = column.MinWidth;
- int controlMaxWidth = column.MaxWidth;
- int controlHeight = 0;
- int controlVisible = column.Visible == true ? 1 : 0;
- string controlTitle = string.IsNullOrEmpty(column.Caption.Trim()) ? "鏈畾涔�" : column.Caption.Trim();
- int controlIdx = column.VisibleIndex;
- if (sb.Length > 0)
- sb.Append("&");
- sb.Append(controlId);
- sb.Append(",");
- sb.Append(controlPosX);
- sb.Append(",");
- sb.Append(controlPosY);
- sb.Append(",");
- sb.Append(controlWidth);
- sb.Append(",");
- sb.Append(controlMinWidth);
- sb.Append(",");
- sb.Append(controlMaxWidth);
- sb.Append(",");
- sb.Append(controlHeight);
- sb.Append(",");
- sb.Append(controlVisible);
- sb.Append(",");
- sb.Append(controlTitle);
- sb.Append(",");
- sb.Append(controlIdx);
+ 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 = sb.ToString(),
+ xmlList = xmlList,
formPath = formNamespace,
- intType= type
+ intType = txt_layOut.SelectedIndex,
};
try
{
--
Gitblit v1.9.3