cnf
2025-08-27 eb374e4405bac15c8d28ce9d17e6ee47b43338d4
DevApp/Gs.DevApp/DevFrm/Ck/UcBlclSelect.cs
@@ -12,24 +12,58 @@
        private readonly string _webServiceName = "WomdaaManager/";
        private string daaId = "";
        private string orgId = "";
        /// <summary>
        ///
        /// 构造函数
        /// </summary>
        /// <param name="_daaGuid">daaGuid</param>
        /// <param name="_orgId">生产组织</param>
        public UcBlclSelect(string _daaGuid, string _orgId)
        {
            InitializeComponent();
            InitializeGridSettings();
            this.daaId = _daaGuid;
            this.orgId = _orgId;
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
            getPageList(1);
            SetupButtonClickEvent();
        }
        /// <summary>
        /// 重载构造函数 - 筛选掉kbsl为0的数据
        /// </summary>
        /// <param name="_daaGuid">daaGuid</param>
        /// <param name="_orgId">生产组织</param>
        /// <param name="_type">类型标识</param>
        public UcBlclSelect(string _daaGuid, string _orgId, string _type)
        {
            InitializeComponent();
            InitializeGridSettings();
            this.daaId = _daaGuid;
            this.orgId = _orgId;
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
            getPageListWithFilter(1); // 使用过滤方法
            SetupButtonClickEvent();
        }
        /// <summary>
        /// 初始化网格设置
        /// </summary>
        private void InitializeGridSettings()
        {
            this.gridView1.CustomDrawColumnHeader += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomDrawColumnHeader(s, e); };
            this.gridView1.MouseUp += (s, e) => { Gs.DevApp.ToolBox.UtilityHelper.CustomMouseUp(s, e, gcMain, gridView1); };
            this.colChkInt.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
            this.colChkInt.OptionsFilter.AllowAutoFilter = false;
            this.colChkInt.OptionsFilter.AllowFilter = false;
            this.colChkInt.OptionsFilter.AllowInHeaderSearch = DevExpress.Utils.DefaultBoolean.False;
            this.daaId = _daaGuid;
            this.orgId = _orgId;
            Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, null, "", null, null, false);
            getPageList(1);
        }
        /// <summary>
        /// 设置按钮点击事件
        /// </summary>
        private void SetupButtonClickEvent()
        {
            btnIn.Click += (s, e) =>
            {
                gridView1.PostEditor();
@@ -56,7 +90,8 @@
                        }
                    }
                }
                UpdateParent?.Invoke(this, new UpdateParentEventArgs { DynamicList = list }); Close();
                UpdateParent?.Invoke(this, new UpdateParentEventArgs { DynamicList = list });
                Close();
            };
        }
@@ -66,9 +101,9 @@
        public event EventHandler<UpdateParentEventArgs> UpdateParent;
        /// <summary>
        /// 获取页面数据(不过滤)
        /// </summary>
        /// <param name="curPage">第几页</param>
        /// <param name="pageSize">每页几条</param>
        private void getPageList(int curPage)
        {
            var _obj = new
@@ -89,12 +124,91 @@
                gcMain.BindingContext = new BindingContext();
                gcMain.DataSource = dt;
                gcMain.ForceInitialize();
                gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
                gridView1.BestFitColumns();
                Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        /// <summary>
        /// 获取页面数据并筛选掉kbsl为0的数据
        /// </summary>
        /// <param name="curPage">第几页</param>
        private void getPageListWithFilter(int curPage)
        {
            var _obj = new
            {
                currentPage = 1,
                everyPageSize = 999999,
                sortName = "",
                keyWhere = "",
                daaGuid = daaId
            };
            var json = JsonConvert.SerializeObject(_obj);
            try
            {
                var strReturn = UtilityHelper.HttpPost("",
                    _webServiceName + "GetListSelectDab", json);
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                // 筛选掉kbsl为0的数据
                DataTable filteredDt = FilterZeroKbsl(dt);
                gcMain.BindingContext = new BindingContext();
                gcMain.DataSource = filteredDt;
                gcMain.ForceInitialize();
                gridView1.BestFitColumns();
                Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1);
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        /// <summary>
        /// 筛选掉kbsl为0的数据
        /// </summary>
        /// <param name="sourceTable">源数据表</param>
        /// <returns>过滤后的数据表</returns>
        private DataTable FilterZeroKbsl(DataTable sourceTable)
        {
            if (sourceTable == null || sourceTable.Rows.Count == 0)
                return sourceTable;
            // 创建新的DataTable来存储过滤后的数据
            DataTable filteredTable = sourceTable.Clone();
            foreach (DataRow row in sourceTable.Rows)
            {
                // 检查kbsl列是否存在且不为0
                if (sourceTable.Columns.Contains("kbsl"))
                {
                    object kbslValue = row["kbsl"];
                    decimal kbsl = 0;
                    // 尝试转换为decimal
                    if (kbslValue != null && kbslValue != DBNull.Value &&
                        decimal.TryParse(kbslValue.ToString(), out kbsl))
                    {
                        if (kbsl > 0) // 只保留kbsl大于0的行
                        {
                            filteredTable.ImportRow(row);
                        }
                    }
                }
                else
                {
                    // 如果没有kbsl列,保留所有行
                    filteredTable.ImportRow(row);
                }
            }
            return filteredTable;
        }
    }
}