diff --git a/插件库/Lskj.ProductSched/FrmProductSched.cs b/插件库/Lskj.ProductSched/FrmProductSched.cs index 9b14e56..e737b42 100644 --- a/插件库/Lskj.ProductSched/FrmProductSched.cs +++ b/插件库/Lskj.ProductSched/FrmProductSched.cs @@ -70,7 +70,7 @@ namespace Lskj.ProductiSched { DataModel.TopSearchObj = new MyControl(DataModel.TopModuleModel.MenuSql, treebandGcTop); } - else + else { DataModel.TopSearchObj = new MyControl(DataModel.TopModuleModel.MenuSql, bandGcTop); } @@ -188,7 +188,8 @@ namespace Lskj.ProductiSched { OnBandedViewColumnWidthChanged(treebandGcTop.TreeListObj, null); - } else + } + else { OnBandedViewColumnWidthChanged(bandGcTop.BandedView, null); } @@ -221,16 +222,16 @@ namespace Lskj.ProductiSched if (TreeMultiHeader) { // 改为TreeList的事件绑定 - treebandGcTop.TreeListObj.BandWidthChanged += OnBandedViewColumnWidthChanged; - treebandGcTop.TreeListObj.ColumnWidthChanged += OnBandedViewColumnWidthChanged; // 宽度改变事件 - treebandGcTop.TreeListObj.LeftCoordChanged += OnBandedViewLeftCoordChanged; // 水平滚动事件 - treebandGcTop.TreeListObj.FocusedNodeChanged += OnFocusedNodeChanged; // 单元格点击事件 - treebandGcTop.TreeListObj.KeyDown += OnTreeListKeyDown; // 键盘事件 - treebandGcTop.TreeListObj.CustomDrawFooterCell += OnTreeListCustomDrawFooterCell; // 自定义绘制Footer事件 - treebandGcTop.TreeListObj.CustomDrawColumnHeader += OnTreeListCustomDrawColumnHeader; // 自定义绘制列头事件 - treebandGcTop.TreeListObj.ShowingEditor += OnTreeListShowingEditor; // 编辑器显示前事件 + //treebandGcTop.TreeListObj.BandWidthChanged += OnBandedViewColumnWidthChanged; + //treebandGcTop.TreeListObj.ColumnWidthChanged += OnBandedViewColumnWidthChanged; // 宽度改变事件 + //treebandGcTop.TreeListObj.LeftCoordChanged += OnBandedViewLeftCoordChanged; // 水平滚动事件 + //treebandGcTop.TreeListObj.FocusedNodeChanged += OnFocusedNodeChanged; // 单元格点击事件 + //treebandGcTop.TreeListObj.KeyDown += OnTreeListKeyDown; // 键盘事件 + //treebandGcTop.TreeListObj.CustomDrawFooterCell += OnTreeListCustomDrawFooterCell; // 自定义绘制Footer事件 + //treebandGcTop.TreeListObj.CustomDrawColumnHeader += OnTreeListCustomDrawColumnHeader; // 自定义绘制列头事件 + //treebandGcTop.TreeListObj.ShowingEditor += OnTreeListShowingEditor; // 编辑器显示前事件 } - else + else { bandGcTop.BandedView.BandWidthChanged += OnBandedViewColumnWidthChanged; bandGcTop.BandedView.ColumnWidthChanged += OnBandedViewColumnWidthChanged; @@ -253,7 +254,7 @@ namespace Lskj.ProductiSched BandedGridView view = sender as BandedGridView; if (view == null) return; - string billDocumentId = view.GetRowCellValue(view.FocusedRowHandle, DataModel.TopModuleModel.ParmaryKey) +""; + string billDocumentId = view.GetRowCellValue(view.FocusedRowHandle, DataModel.TopModuleModel.ParmaryKey) + ""; // 新方式 (精准替代原有取值方式) DateTime date; if (DataModel.columnDateMapping.TryGetValue(view.FocusedColumn, out date)) @@ -330,7 +331,7 @@ namespace Lskj.ProductiSched return false; } List mList = new List(); - DataTable dataTable = TreeMultiHeader? treebandGcTop.GetGridViewDataSource(): bandGcTop.BandedView.GridControl.DataSource as DataTable; + DataTable dataTable = TreeMultiHeader ? treebandGcTop.GetGridViewDataSource() : bandGcTop.BandedView.GridControl.DataSource as DataTable; DataRow[] modifiedRows = dataTable .Rows .Cast() @@ -485,7 +486,7 @@ namespace Lskj.ProductiSched typeDate = labelAutoTextEdit.EditValue; } // 获取主数据源,假设已绑定到 gridControl1 - DataTable mainDataSource = TreeMultiHeader ? treebandGcTop.GetGridViewDataSource():bandGcTop.BandedView.GridControl.DataSourceTable(); + DataTable mainDataSource = TreeMultiHeader ? treebandGcTop.GetGridViewDataSource() : bandGcTop.BandedView.GridControl.DataSourceTable(); if (mainDataSource == null) { return true; @@ -712,7 +713,7 @@ namespace Lskj.ProductiSched string fieldName = !string.IsNullOrEmpty(model.UnionParentField) && rowItem.Table.Columns.Contains(model.UnionParentField) ? model.UnionParentField : DataModel.TopModuleModel.ParmaryKey; string sqlValue = model.IsReadOnly || model.IsChart ? model.DetailSql : DataModel.RightModuleModel.MenuSql; sqlValue = ReplaceHelper.ReplaceRowParam(rowItem, sqlValue); - DataRow row = TreeMultiHeader ? treebandGcTop.GetViewFocusedDataRow(): bandGcTop.GetViewFocusedDataRow(); + DataRow row = TreeMultiHeader ? treebandGcTop.GetViewFocusedDataRow() : bandGcTop.GetViewFocusedDataRow(); if (row != null && isLeft) { //先替换左侧选中行,在替换主表 @@ -860,7 +861,8 @@ namespace Lskj.ProductiSched { UpdateDynamicColumns(treebandGcTop, dateTime, typeDate); } - else { + else + { UpdateDynamicColumns(bandGcTop, dateTime, typeDate); } } @@ -929,7 +931,7 @@ namespace Lskj.ProductiSched DataTable dt = BaseImpl.GetDataTableResult(query); foreach (DataRow row in dt.Rows) { - string billDocumentId = row["billdocument_id"]+""; + string billDocumentId = row["billdocument_id"] + ""; string showDayList = row["showday_list"].ToString(); if (!string.IsNullOrEmpty(showDayList)) @@ -1438,7 +1440,8 @@ namespace Lskj.ProductiSched { // 原有的日处理逻辑(保持原代码不变) DateTime endDate = currentDate.AddMonths(3).AddDays(-1); - + grid.BandedView.BeginUpdate(); + // 处理每天的列(现有逻辑) for (int i = 0; i < 93; i++) { @@ -1473,7 +1476,7 @@ namespace Lskj.ProductiSched if (dateForColumn.Date < DateTime.Now.Date) { gridColumn.OptionsColumn.AllowEdit = false; - } + } else { gridColumn.OptionsColumn.AllowEdit = true; @@ -1499,6 +1502,7 @@ namespace Lskj.ProductiSched } } } + grid.BandedView.EndUpdate(); } /// /// 更新TreeList控件的日列 @@ -1508,6 +1512,7 @@ namespace Lskj.ProductiSched DateTime endDate = currentDate.AddMonths(3).AddDays(-1); // 核心优化代码:暂停数据源绑定和界面刷新 + grid.TreeListObj.BeginInit(); grid.TreeListObj.BeginUpdate(); grid.TreeListObj.LockReloadNodes(); // 阻止节点数据重载(关键优化)