From 9cafae5f0ae32f56fa2f075d327cd6809461aed0 Mon Sep 17 00:00:00 2001 From: tdx Date: Thu, 3 Apr 2025 07:47:06 +0000 Subject: [PATCH] SVN r444 SVN-Revision: r444 --- 插件库/Lskj.ProductSched/FrmProductSched.cs | 43 ++++++++++++++++----- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/插件库/Lskj.ProductSched/FrmProductSched.cs b/插件库/Lskj.ProductSched/FrmProductSched.cs index 22e6f32..d4adef1 100644 --- a/插件库/Lskj.ProductSched/FrmProductSched.cs +++ b/插件库/Lskj.ProductSched/FrmProductSched.cs @@ -2001,17 +2001,42 @@ namespace Lskj.ProductiSched } } } + // **6. 解决渲染问题** + if (!dataMain.Columns.Contains("PrecomputedMaxDate")) + { + dataMain.Columns.Add("PrecomputedMaxDate", typeof(string)); + } + + foreach (DataRow row in dataMain.Rows) + { + DateTime? maxDate = null; // 初始化为 null,表示尚未找到有效日期 + foreach (DataColumn column in row.Table.Columns) + { + // 检查列是否为日期类型,这里假设您已确保列名适当反映了它们是日期类型 + if (DateTime.TryParse(column.ToString(), out DateTime tempDate)) + { + if (!string.IsNullOrEmpty(row[column] + "")) // 只有在找到更大的日期时才更新 + { + if (maxDate == null || tempDate > maxDate) + { + maxDate = tempDate; + } + } + } + } + // 赋值操作,确保为字符串格式 + row["PrecomputedMaxDate"] = maxDate.HasValue ? maxDate.Value.ToString("yyyy-MM-dd") : ""; + } return dataMain; } - - /// - /// 构建带日期的数据源 - /// - /// - /// - /// - /// - private void UpdateRowWithDayPlan(DataRow focusedRow, DataTable dataDayPlan, DateTime startDate) + /// + /// 构建带日期的数据源 + /// + /// + /// + /// + /// + private void UpdateRowWithDayPlan(DataRow focusedRow, DataTable dataDayPlan, DateTime startDate) { string rightPrimaryKey = DataModel.RightModuleModel.ParmaryKey; string topPrimaryKey = DataModel.TopModuleModel.ParmaryKey;