lu
2024-12-05 c58f2d6dfc34e40a20ed960b0da61924d680b25f
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -193,7 +193,14 @@
        {
            var dt = new DataTable();
            foreach (GridColumn col in gv.Columns)
                dt.Columns.Add(col.FieldName, typeof(string));
            {
                if (col.UnboundDataType == typeof(bool))
                    dt.Columns.Add(col.FieldName, typeof(System.Boolean));
                else
                {
                    dt.Columns.Add(col.FieldName, typeof(string));
                }
            }
            gc.BindingContext = new BindingContext();
            gc.DataSource = dt;
            gc.ForceInitialize();
@@ -293,13 +300,16 @@
                {
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        if (colmn.Name.ToString().Contains("gvMxDel"))
                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                        {
                            colmn.Visible = !isEdt;
                            break;
                            //  colmn.Visible = !isEdt;
                            //  break;
                            colmn.OptionsColumn.AllowEdit =true;
                        }
                        else
                        colmn.OptionsColumn.AllowEdit = !isEdt;
                    }
                    gv.OptionsBehavior.Editable = !isEdt;
                    //gv.OptionsBehavior.Editable = !isEdt;
                }
            var _btnAry = controls.Find("btnSelect", false);
            if (_btnAry.Length > 0)
@@ -509,6 +519,74 @@
                                txt.Enabled = false;
                            continue;
                        }
                        //自定车间
                        if (colType is UcLookWorkshop)
                        {
                            var txt = colType as UcLookWorkshop;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定产线
                        if (colType is UcLookWorkline)
                        {
                            var txt = colType as UcLookWorkline;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定单位
                        if (colType is UcLookUnit)
                        {
                            var txt = colType as UcLookUnit;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定客户
                        if (colType is UcLookCustomer)
                        {
                            var txt = colType as UcLookCustomer;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定员工
                        if (colType is UcLookStaff)
                        {
                            var txt = colType as UcLookStaff;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定组织
                        if (colType is UcLookOrg)
                        {
                            var txt = colType as UcLookOrg;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        if (colType is SimpleButton)
                        {
                            var txt = colType as SimpleButton;
@@ -539,13 +617,16 @@
                {
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        if (colmn.Name.ToString().Contains("gvMxDel"))
                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                        {
                            colmn.Visible = !isEdt;
                            break;
                            //  colmn.Visible = !isEdt;
                            //  break;
                            colmn.OptionsColumn.AllowEdit = true;
                        }
                        else
                            colmn.OptionsColumn.AllowEdit = !isEdt;
                    }
                    gv.OptionsBehavior.Editable = !isEdt;
                    //gv.OptionsBehavior.Editable = !isEdt;
                }
            foreach (Control ctrl in controls)
            {
@@ -641,6 +722,54 @@
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定车间
                if (ctrl is UcLookWorkshop)
                {
                    var txt = ctrl as UcLookWorkshop;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定产线
                if (ctrl is UcLookWorkline)
                {
                    var txt = ctrl as UcLookWorkline;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定单位
                if (ctrl is UcLookUnit)
                {
                    var txt = ctrl as UcLookUnit;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定客户
                if (ctrl is UcLookCustomer)
                {
                    var txt = ctrl as UcLookCustomer;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定客户
                if (ctrl is UcLookStaff)
                {
                    var txt = ctrl as UcLookStaff;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定组织
                if (ctrl is UcLookOrg)
                {
                    var txt = ctrl as UcLookOrg;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                if (ctrl is SimpleButton)
                {
                    var txt = ctrl as SimpleButton;
@@ -666,13 +795,16 @@
                {
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        if (colmn.Name.ToString().Contains("gvMxDel"))
                        if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                        {
                            colmn.Visible = !isEdt;
                            break;
                            //  colmn.Visible = !isEdt;
                            //  break;
                            colmn.OptionsColumn.AllowEdit = true;
                        }
                        else
                            colmn.OptionsColumn.AllowEdit = !isEdt;
                    }
                    gv.OptionsBehavior.Editable = !isEdt;
                    //gv.OptionsBehavior.Editable = !isEdt;
                }
            foreach (Control ctrl in controls)
            {
@@ -749,6 +881,66 @@
                if (ctrl is UcLookItems)
                {
                    var txt = ctrl as UcLookItems;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
                        txt.Enabled = false;
                    continue;
                }
                //自定义车间
                if (ctrl is UcLookWorkshop)
                {
                    var txt = ctrl as UcLookWorkshop;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
                        txt.Enabled = false;
                    continue;
                }
                //自定义产线
                if (ctrl is UcLookWorkline)
                {
                    var txt = ctrl as UcLookWorkline;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
                        txt.Enabled = false;
                    continue;
                }
                //自定义单位
                if (ctrl is UcLookUnit)
                {
                    var txt = ctrl as UcLookUnit;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
                        txt.Enabled = false;
                    continue;
                }
                //自定义客户
                if (ctrl is UcLookCustomer)
                {
                    var txt = ctrl as UcLookCustomer;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
                        txt.Enabled = false;
                    continue;
                }
                //自定义员工
                if (ctrl is UcLookStaff)
                {
                    var txt = ctrl as UcLookStaff;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
                        txt.Enabled = false;
                    continue;
                }
                //自定组织
                if (ctrl is UcLookOrg)
                {
                    var txt = ctrl as UcLookOrg;
                    if (txt.IsReadly == false)
                        txt.Enabled = !isEdt;
                    else
@@ -1102,7 +1294,7 @@
                if (string.IsNullOrEmpty(filter.FilterString))
                    continue;
                //  fiList.Add(new FilterEntity("b.FNumber", "使用组织", " like ", "包含", "%" + filter.Value + "%"));
                string[] ddd = filter.FilterString.Replace("Contains","").Replace("(","").Replace(")","").Replace("'", "").Replace("'", "").Split(',');
                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()));
            }
@@ -1125,7 +1317,7 @@
                        _sbSqlWhere.Append(" and  org.FNumber " + itm.fileOper + "'" + itm.fileValue + "'");
                    else
                    {
                       _sbSqlWhere.Append(" and  org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
                        _sbSqlWhere.Append(" and  org.NAME " + itm.fileOper + "'" + itm.fileValue.Trim() + "'");
                    }
                }
                else
@@ -1145,12 +1337,31 @@
                column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
                column.OptionsFilter.ImmediateUpdateAutoFilter = false;
                column.OptionsColumn.AllowEdit = false;
                if (column.Tag==null || column.Tag.ToString().Length <= 0)
                if (column.Tag == null || column.Tag.ToString().Length <= 0)
                    column.OptionsFilter.AllowAutoFilter = false;
            }
            gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False;
            gridView1.OptionsFilter.AllowFilterEditor = false;
            gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
            gridView1.OptionsCustomization.AllowFilter = false;
            gridView1.OptionsFind.ShowSearchNavButtons = false;
            gridView1.OptionsView.ShowAutoFilterRow = true;
            gridView1.OptionsView.ShowGroupPanel = false;
            gridView1.IndicatorWidth = 50;
            gridView1.CustomDrawRowIndicator += (s, e) =>
            {
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
            };
            gridView1.CustomDrawEmptyForeground += (s, e) =>
            {
                var str = "暂未查找到匹配的数据!";
                var f = new Font("微软雅黑", 16);
                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                e.Graphics.DrawString(str, f, Brushes.Gray, r);
            };
        }
        #endregion
@@ -1160,6 +1371,31 @@
            Regex regex = new Regex("^[0-9]+$");
            return regex.IsMatch(str);
        }
        /// <summary>
        /// yz_quantity_0,yz_字段_类型
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void SetValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e)
        {
            //yz_quantity_0
            GridView view = sender as GridView;
            if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_"))
            {
                string[] _ary = view.FocusedColumn.Tag.ToString().Split('_');
                if (_ary.Length > 2)
                {
                    if (_ary[2] == "0")
                    {
                        double price = 0; if (!Double.TryParse(e.Value as String, out price))
                        { e.Valid = false; e.ErrorText = "请输入正确的数字."; }
                        return;
                    }
                }
            }
        }
    }
    /// <summary>