lg
2024-09-08 65927056612a7ffef20708aefda33d09be51ef6b
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,6 +1,5 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
@@ -15,6 +14,7 @@
using static System.Windows.Forms.Control;
using DevExpress.XtraEditors;
using DevExpress.XtraTab;
using System.Text.RegularExpressions;
namespace Gs.DevApp.ToolBox
{
@@ -150,19 +150,30 @@
            rto.rtnData = json["rtnData"];
            return rto;
        }
        /// <summary>
        /// 设置系统字体大小,目前并不通用
        /// 标准json串返回ReturnModel-->table,
        /// </summary>
        public static float GetFontSize = 10;
        public static void SetFont(Control control)
        /// <param name="strReturn"></param>
        /// <returns></returns>
        public static ReturnModel<DataTable> GetNoPageTableByJson(string strReturn)
        {
            float size = GetFontSize;
            foreach (Control childControl in control.Controls)
            ReturnModel<DataTable> rto = new ReturnModel<DataTable>();
            JObject json = JObject.Parse(strReturn);
            rto.rtnCode = int.Parse(json["rtnCode"].ToString());
            rto.rtnMsg = json["rtnMsg"].ToString();
            rto.rtnData = new DataTable();
            JArray array = new JArray();
            var d = json["rtnData"];
            foreach (var a in d)
            {
                childControl.Font = new Font(childControl.Font.FontFamily, size, childControl.Font.Style);
                SetFont(childControl);
                array.Add(a);
            }
            DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
            rto.rtnData = dt;
            return rto;
        }
        /// <summary>
        /// 读取默认页大小
@@ -170,19 +181,20 @@
        /// <returns></returns>
        public static int GetPageSize()
        {
            return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
            return 50;
            // return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
        }
        /// <summary>
        /// 根据对象批量设置文本值,
        /// 根据对象批量设置文本值
        /// </summary>
        /// <param name="controls"></param>
        /// <param name="dynamicObject"></param>
        /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
        /// <param name="dynamicObject">对像</param>
        /// <param name="isEdt">是否可编辑</param>
        public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, Boolean isEdt)
        {
            foreach (JProperty property in dynamicObject.Properties())
            {
                //Console.WriteLine("Name: {0}, Value: {1}", property.Name, property.Value);
                string strName = property.Name;
                string strVal = property.Value.ToString();
                //    // 如果value是一个对象,可以递归遍历
@@ -198,41 +210,73 @@
                if (cols.Length > 0)
                {
                    Control colType = cols[0];
                    //下拉
                    if (colType is ComboBoxEdit)
                    {
                        ComboBoxEdit txt = colType as ComboBoxEdit;
                        txt.SelectedIndex = int.Parse(strVal);
                        if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
                            txt.SelectedIndex = int.Parse(strVal);
                        else
                            txt.Text = strVal;
                        txt.Enabled = isEdt;
                        continue;
                    }
                    //文本
                    if (colType is TextEdit)
                    {
                        TextEdit txt = colType as TextEdit;
                        if (txt != null)
                        {
                            txt.Text = strVal;
                            txt.Enabled = isEdt;
                        }
                        txt.Enabled = isEdt;
                        continue;
                    }
                     //数字卡
                    if (colType is NumericUpDown)
                    {
                        NumericUpDown txt = colType as NumericUpDown;
                        if (txt != null)
                            txt.Text = strVal;
                        txt.Enabled = isEdt;
                        continue;
                    }
                }
            }
        }
        /// <summary>
        /// 清空容器里面的控件
        /// </summary>
        /// <param name="controls">容器</param>
        /// <param name="isEdt">清空后是否可编辑</param>
        /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
        /// <param name="isEdt">是否可编辑</param>
        public static void CleanValue(ControlCollection controls, Boolean isEdt)
        {
            foreach (Control ctrl in controls)//或为groupBox1.Controls/panel1.Controls
            foreach (Control ctrl in controls)
            {
                ctrl.Enabled = isEdt;
                //多行文本
                if (ctrl is MemoEdit)
                {
                    MemoEdit txt = ctrl as MemoEdit;
                    txt.Text = "";
                    txt.Enabled = isEdt;
                    continue;
                }
                //下拉
                if (ctrl is ComboBoxEdit)
                {
                    ComboBoxEdit txt = ctrl as ComboBoxEdit;
                    if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
                        txt.SelectedIndex = 0;
                    else
                        txt.Text = "";
                    txt.Enabled = isEdt;
                    continue;
                }
                //文本
                if (ctrl is TextEdit)
                {
                    ctrl.Text = "";
                    ctrl.Enabled = isEdt;
                    continue;
                }
            }
        }
@@ -240,14 +284,25 @@
        /// <summary>
        /// 禁用或启用容器里面的控件
        /// </summary>
        /// <param name="controls">容器</param>
        /// <param name="controls">controls:为groupBox1.Controls/panel1.Controls</param>
        /// <param name="isEdt">是否可编辑</param>
        public static void ChangeEnable(ControlCollection controls, Boolean isEdt)
        {
            foreach (Control ctrl in controls)//或为groupBox1.Controls/panel1.Controls
            foreach (Control ctrl in controls)
            {
                //文本
                if (ctrl is TextEdit)
                {
                    ctrl.Enabled = isEdt;
                    continue;
                }
                //数字卡
                if (ctrl is NumericUpDown)
                {
                    ctrl.Enabled = isEdt;
                    continue;
                }
            }
        }
@@ -323,5 +378,26 @@
            }
        }
        /// <summary>
        /// 转驼峰命名
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static string ToCamelCase(string input)
        {
            if (string.IsNullOrEmpty(input))
                return input;
            // 匹配非字母数字字符后的第一个字母,并将其转换为大写
            return Regex.Replace(
                input,
                "([a-z])([A-Z])",
                "$1$2",
                RegexOptions.CultureInvariant
            ).Trim();
        }
    }
}