SVN-Revision: r382
This commit is contained in:
wyf
2025-03-24 13:43:40 +00:00
parent 54a1493646
commit 8f15fc4d7f
+20 -15
View File
@@ -188,7 +188,8 @@ namespace Lskj.ProductiSched
{ {
OnBandedViewColumnWidthChanged(treebandGcTop.TreeListObj, null); OnBandedViewColumnWidthChanged(treebandGcTop.TreeListObj, null);
} else }
else
{ {
OnBandedViewColumnWidthChanged(bandGcTop.BandedView, null); OnBandedViewColumnWidthChanged(bandGcTop.BandedView, null);
} }
@@ -221,14 +222,14 @@ namespace Lskj.ProductiSched
if (TreeMultiHeader) if (TreeMultiHeader)
{ {
// 改为TreeList的事件绑定 // 改为TreeList的事件绑定
treebandGcTop.TreeListObj.BandWidthChanged += OnBandedViewColumnWidthChanged; //treebandGcTop.TreeListObj.BandWidthChanged += OnBandedViewColumnWidthChanged;
treebandGcTop.TreeListObj.ColumnWidthChanged += OnBandedViewColumnWidthChanged; // 宽度改变事件 //treebandGcTop.TreeListObj.ColumnWidthChanged += OnBandedViewColumnWidthChanged; // 宽度改变事件
treebandGcTop.TreeListObj.LeftCoordChanged += OnBandedViewLeftCoordChanged; // 水平滚动事件 //treebandGcTop.TreeListObj.LeftCoordChanged += OnBandedViewLeftCoordChanged; // 水平滚动事件
treebandGcTop.TreeListObj.FocusedNodeChanged += OnFocusedNodeChanged; // 单元格点击事件 //treebandGcTop.TreeListObj.FocusedNodeChanged += OnFocusedNodeChanged; // 单元格点击事件
treebandGcTop.TreeListObj.KeyDown += OnTreeListKeyDown; // 键盘事件 //treebandGcTop.TreeListObj.KeyDown += OnTreeListKeyDown; // 键盘事件
treebandGcTop.TreeListObj.CustomDrawFooterCell += OnTreeListCustomDrawFooterCell; // 自定义绘制Footer事件 //treebandGcTop.TreeListObj.CustomDrawFooterCell += OnTreeListCustomDrawFooterCell; // 自定义绘制Footer事件
treebandGcTop.TreeListObj.CustomDrawColumnHeader += OnTreeListCustomDrawColumnHeader; // 自定义绘制列头事件 //treebandGcTop.TreeListObj.CustomDrawColumnHeader += OnTreeListCustomDrawColumnHeader; // 自定义绘制列头事件
treebandGcTop.TreeListObj.ShowingEditor += OnTreeListShowingEditor; // 编辑器显示前事件 //treebandGcTop.TreeListObj.ShowingEditor += OnTreeListShowingEditor; // 编辑器显示前事件
} }
else else
{ {
@@ -253,7 +254,7 @@ namespace Lskj.ProductiSched
BandedGridView view = sender as BandedGridView; BandedGridView view = sender as BandedGridView;
if (view == null) return; if (view == null) return;
string billDocumentId = view.GetRowCellValue(view.FocusedRowHandle, DataModel.TopModuleModel.ParmaryKey) +""; string billDocumentId = view.GetRowCellValue(view.FocusedRowHandle, DataModel.TopModuleModel.ParmaryKey) + "";
// 新方式 (精准替代原有取值方式) // 新方式 (精准替代原有取值方式)
DateTime date; DateTime date;
if (DataModel.columnDateMapping.TryGetValue(view.FocusedColumn, out date)) if (DataModel.columnDateMapping.TryGetValue(view.FocusedColumn, out date))
@@ -330,7 +331,7 @@ namespace Lskj.ProductiSched
return false; return false;
} }
List<BaseSaveModel> mList = new List<BaseSaveModel>(); List<BaseSaveModel> mList = new List<BaseSaveModel>();
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 DataRow[] modifiedRows = dataTable
.Rows .Rows
.Cast<DataRow>() .Cast<DataRow>()
@@ -485,7 +486,7 @@ namespace Lskj.ProductiSched
typeDate = labelAutoTextEdit.EditValue; typeDate = labelAutoTextEdit.EditValue;
} }
// 获取主数据源,假设已绑定到 gridControl1 // 获取主数据源,假设已绑定到 gridControl1
DataTable mainDataSource = TreeMultiHeader ? treebandGcTop.GetGridViewDataSource():bandGcTop.BandedView.GridControl.DataSourceTable(); DataTable mainDataSource = TreeMultiHeader ? treebandGcTop.GetGridViewDataSource() : bandGcTop.BandedView.GridControl.DataSourceTable();
if (mainDataSource == null) if (mainDataSource == null)
{ {
return true; 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 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; string sqlValue = model.IsReadOnly || model.IsChart ? model.DetailSql : DataModel.RightModuleModel.MenuSql;
sqlValue = ReplaceHelper.ReplaceRowParam(rowItem, sqlValue); sqlValue = ReplaceHelper.ReplaceRowParam(rowItem, sqlValue);
DataRow row = TreeMultiHeader ? treebandGcTop.GetViewFocusedDataRow(): bandGcTop.GetViewFocusedDataRow(); DataRow row = TreeMultiHeader ? treebandGcTop.GetViewFocusedDataRow() : bandGcTop.GetViewFocusedDataRow();
if (row != null && isLeft) if (row != null && isLeft)
{ {
//先替换左侧选中行,在替换主表 //先替换左侧选中行,在替换主表
@@ -860,7 +861,8 @@ namespace Lskj.ProductiSched
{ {
UpdateDynamicColumns(treebandGcTop, dateTime, typeDate); UpdateDynamicColumns(treebandGcTop, dateTime, typeDate);
} }
else { else
{
UpdateDynamicColumns(bandGcTop, dateTime, typeDate); UpdateDynamicColumns(bandGcTop, dateTime, typeDate);
} }
} }
@@ -929,7 +931,7 @@ namespace Lskj.ProductiSched
DataTable dt = BaseImpl.GetDataTableResult(query); DataTable dt = BaseImpl.GetDataTableResult(query);
foreach (DataRow row in dt.Rows) foreach (DataRow row in dt.Rows)
{ {
string billDocumentId = row["billdocument_id"]+""; string billDocumentId = row["billdocument_id"] + "";
string showDayList = row["showday_list"].ToString(); string showDayList = row["showday_list"].ToString();
if (!string.IsNullOrEmpty(showDayList)) if (!string.IsNullOrEmpty(showDayList))
@@ -1438,6 +1440,7 @@ namespace Lskj.ProductiSched
{ {
// 原有的日处理逻辑(保持原代码不变) // 原有的日处理逻辑(保持原代码不变)
DateTime endDate = currentDate.AddMonths(3).AddDays(-1); DateTime endDate = currentDate.AddMonths(3).AddDays(-1);
grid.BandedView.BeginUpdate();
// 处理每天的列(现有逻辑) // 处理每天的列(现有逻辑)
for (int i = 0; i < 93; i++) for (int i = 0; i < 93; i++)
@@ -1499,6 +1502,7 @@ namespace Lskj.ProductiSched
} }
} }
} }
grid.BandedView.EndUpdate();
} }
/// <summary> /// <summary>
/// 更新TreeList控件的日列 /// 更新TreeList控件的日列
@@ -1508,6 +1512,7 @@ namespace Lskj.ProductiSched
DateTime endDate = currentDate.AddMonths(3).AddDays(-1); DateTime endDate = currentDate.AddMonths(3).AddDays(-1);
// 核心优化代码:暂停数据源绑定和界面刷新 // 核心优化代码:暂停数据源绑定和界面刷新
grid.TreeListObj.BeginInit();
grid.TreeListObj.BeginUpdate(); grid.TreeListObj.BeginUpdate();
grid.TreeListObj.LockReloadNodes(); // 阻止节点数据重载(关键优化) grid.TreeListObj.LockReloadNodes(); // 阻止节点数据重载(关键优化)