SVN-Revision: r382
This commit is contained in:
wyf
2025-03-24 13:43:40 +00:00
parent 54a1493646
commit 8f15fc4d7f
+24 -19
View File
@@ -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<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
.Rows
.Cast<DataRow>()
@@ -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();
}
/// <summary>
/// 更新TreeList控件的日列
@@ -1508,6 +1512,7 @@ namespace Lskj.ProductiSched
DateTime endDate = currentDate.AddMonths(3).AddDays(-1);
// 核心优化代码:暂停数据源绑定和界面刷新
grid.TreeListObj.BeginInit();
grid.TreeListObj.BeginUpdate();
grid.TreeListObj.LockReloadNodes(); // 阻止节点数据重载(关键优化)