SVN r453
SVN-Revision: r453
This commit is contained in:
@@ -2002,31 +2002,58 @@ namespace Lskj.ProductiSched
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// **6. 解决渲染问题**
|
// **6. 解决渲染问题**
|
||||||
|
bandGcTop.rowDateValues.Clear();
|
||||||
if (!dataMain.Columns.Contains("PrecomputedMaxDate"))
|
if (!dataMain.Columns.Contains("PrecomputedMaxDate"))
|
||||||
{
|
{
|
||||||
dataMain.Columns.Add("PrecomputedMaxDate", typeof(string));
|
dataMain.Columns.Add("PrecomputedMaxDate", typeof(string));
|
||||||
}
|
}
|
||||||
|
// 遍历所有行
|
||||||
|
for (int rowIndex = 0; rowIndex < dataMain.Rows.Count; rowIndex++)
|
||||||
|
{
|
||||||
|
DataRow row = dataMain.Rows[rowIndex];
|
||||||
|
var validDateColumns = new List<DateTime>();
|
||||||
|
|
||||||
foreach (DataRow row in dataMain.Rows)
|
// 遍历当前行所有列
|
||||||
|
foreach (DataColumn column in dataMain.Columns)
|
||||||
{
|
{
|
||||||
DateTime? maxDate = null; // 初始化为 null,表示尚未找到有效日期
|
var cellValue = row[column]?.ToString();
|
||||||
foreach (DataColumn column in row.Table.Columns)
|
|
||||||
|
// 检查单元格值是否不为空,且可解析为日期格式
|
||||||
|
if (!string.IsNullOrEmpty(cellValue) && DateTime.TryParse(column.ToString(), out DateTime newDate))
|
||||||
{
|
{
|
||||||
// 检查列是否为日期类型,这里假设您已确保列名适当反映了它们是日期类型
|
if(!validDateColumns.Contains(newDate))validDateColumns.Add(newDate);
|
||||||
if (DateTime.TryParse(column.ToString(), out DateTime tempDate))
|
|
||||||
{
|
|
||||||
if (!string.IsNullOrEmpty(row[column] + "")) // 只有在找到更大的日期时才更新
|
|
||||||
{
|
|
||||||
if (maxDate == null || tempDate > maxDate)
|
|
||||||
{
|
|
||||||
maxDate = tempDate;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 将当前行索引和有效日期列的集合添加到字典中
|
||||||
|
bandGcTop.rowDateValues[rowIndex] = validDateColumns;
|
||||||
// 赋值操作,确保为字符串格式
|
// 赋值操作,确保为字符串格式
|
||||||
row["PrecomputedMaxDate"] = maxDate.HasValue ? maxDate.Value.ToString("yyyy-MM-dd") : "";
|
row["PrecomputedMaxDate"] = validDateColumns.Count>0?validDateColumns.Max().ToString("yyyy-MM-dd"):"";
|
||||||
}
|
}
|
||||||
|
//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;
|
return dataMain;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user