lu
2025-03-28 8ed8ee61c7ba7367f9d9f649156da5760bda59d4
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -10,7 +10,6 @@
using System.Net.Http;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
@@ -410,7 +409,14 @@
                        if (colType is CheckEdit)
                        {
                            var txt = colType as CheckEdit;
                            if (_isRead(txt.Tag))
                            {
                                txt.ReadOnly = true;
                            }
                            else
                                txt.ReadOnly = isEdt;
                            if (txt != null)
                            {
                                switch (strVal)
                                {
                                    case "True":
@@ -426,8 +432,8 @@
                                        txt.Checked = false;
                                        break;
                                }
                            }
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //单选
@@ -453,6 +459,7 @@
                            txt.Enabled = !isEdt;
                            continue;
                        }
                        //时间
                        if (colType is DateTimePicker)
                        {
@@ -798,7 +805,6 @@
                    else
                        txt.ReadOnly = isEdt;
                    continue;
                }
                //自定义仓库
                if (ctrl is UcLookCk)
@@ -1375,6 +1381,11 @@
                return 0;
            }
        }
        public static decimal? GetDecimal(string s)
        {
            if (string.IsNullOrEmpty(s)) return null;
            return decimal.Parse(s);
        }
        public static int ToInt(string str)
        {
            try
@@ -1578,7 +1589,6 @@
                    return rowGuid;
                }
            }
            return "";
        }
@@ -1596,7 +1606,7 @@
            GridView dgv = s as GridView;
            if (dgv != null)
            {
                if (dgv.GetSelectedRows() != null)
                if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0)
                {
                    var selectedRow = dgv.GetSelectedRows()[0]; // 获取第一个选中行的索引
                    if (selectedRow >= 0)
@@ -1660,13 +1670,10 @@
            btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 距离顶部10像素
        }
        #region 设置搜索
        public static string getQueryWord(string str)
        public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type)
        {
            return str.ToUpper().Replace("query_".ToUpper(), "");
        }
        public static FilterEntity getFilterEntityWord(string id, string idDec, string val)
        {
            return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "包含)", "%" + val + "%");
            return new FilterEntity(id, idDec + ")", " like ", "包含)", "%" + val + "%", type);
        }
        public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
        {
@@ -1685,7 +1692,7 @@
                //  fiList.Add(new FilterEntity("b.FNumber", "使用组织", " like ", "包含", "%" + filter.Value + "%"));
                string[] ddd = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "").Split(',');
                //Contains([fSubsidiary], '005')
                fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim()));
                fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression));
            }
            return fiList;
        }
@@ -1710,8 +1717,20 @@
                    }
                }
                else
                    _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
                                      itm.fileValue + "'");
                {
                    switch (itm.fileType)
                    {
                        case "时间类型":
                            _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId+ ",23)"  + itm.fileOper + "'" + itm.fileValue + "'");
                            break;
                        //case "数值类型":
                        //    _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
                        //    break;
                        default:
                            _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
                            break;
                    }
                }
            }
            return _sbSqlWhere.ToString();
        }
@@ -1720,7 +1739,7 @@
        public delegate void DelegateGetModel(string guid);
        public delegate void DelegateGetList(int currentPage);
        /// <summary>
        ///
        /// 设置主表的样式
        /// </summary>
        /// <param name="gridView1">gridview</param>
        /// <param name="picCheckBox">图标按钮</param>
@@ -1751,14 +1770,13 @@
            };
            gridView1.OptionsView.ShowGroupPanel = false;
            gridView1.OptionsCustomization.AllowGroup = false;
            gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText;
            gridView1.OptionsView.ColumnAutoWidth = false;//自动调整列宽
            foreach (GridColumn column in gridView1.Columns)
            {
                column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
                column.OptionsColumn.AllowEdit = true;
                column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
                // column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
                column.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains;
                column.OptionsFilter.ImmediateUpdateAutoFilter = false;
                if (column.Tag == null || column.Tag.ToString().EndsWith("edit"))
@@ -1864,6 +1882,23 @@
            edit.SelectAll();
        }
        public static void SetGridLayout(GridView gridView1)
        {
            foreach (GridColumn column in gridView1.Columns)
            {
                if (column.Width > 500)
                    column.Width = 500;
            }
        }
        /// <summary>
        /// 设置选项卡
        /// </summary>
        /// <param name="gridView1"></param>
        /// <param name="xtraTabControl1"></param>
        /// <param name="pageBar1"></param>
        /// <param name="action"></param>
        /// <param name="page"></param>
        public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null)
        {
            xtraTabControl1.SelectedPageChanged += (s, e) =>
@@ -2054,7 +2089,7 @@
                            column.Visible = bool.Parse(controlVisible);
                    }
                }
            }
        }
    }
@@ -2068,10 +2103,11 @@
        {
        }
        public CboItemEntity(string val, string text)
        public CboItemEntity(string val, string text,string fType="")
        {
            Text = text;
            Value = val;
            FType = fType;
        }
        /// <summary>
@@ -2083,6 +2119,8 @@
        ///     对象值
        /// </summary>
        public object Value { get; set; } = "";
        public object FType { get; set; } = "";
        public override string ToString()
        {
@@ -2104,13 +2142,14 @@
        /// <param name="operDec">操作符备注</param>
        /// <param name="val"></param>
        public FilterEntity(string id, string idDec, string oper,
            string operDec, string val)
            string operDec, string val, string type)
        {
            fileId = id;
            fileIdDec = idDec;
            fileOper = oper;
            fileOperDec = operDec;
            fileValue = val;
            fileType = type;
        }
        public string fileId { get; set; }
@@ -2122,5 +2161,7 @@
        public string fileOperDec { get; set; }
        public string fileValue { get; set; }
        public string fileType { get; set; }
    }
}