SVN-Revision: r638
This commit is contained in:
wyf
2025-05-23 07:57:17 +00:00
parent 77cd61d2cd
commit 3395af1b56
+67 -83
View File
@@ -204,6 +204,10 @@ namespace Lskj.PubBill
/// </summary>
public List<GridColumn> DateColumnList = new List<GridColumn>();
/// <summary>
/// 主表动态生成的合计列
/// </summary>
public GridColumn SumGridColumn = new GridColumn();
/// <summary>
/// 附加右键菜单
/// </summary>
public SimpleButton itemCommon = new SimpleButton();
@@ -1187,55 +1191,73 @@ namespace Lskj.PubBill
{
dayCount = 7;
}
for (int i = 0; i < dayCount; i++)
if (DateColumnList.Count != dayCount)
{
GridColumn gridColumn = new GridColumn();
gridColumn.AppearanceCell.Options.UseTextOptions = true;
gridColumn.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
gridColumn.AppearanceHeader.Options.UseTextOptions = true;
gridColumn.AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
gridColumn.OptionsColumn.AllowMove = false;
gridColumn.OptionsColumn.AllowSize = false;
gridColumn.OptionsFilter.AllowFilter = false;
gridColumn.OptionsColumn.AllowMerge = DefaultBoolean.False;
gridColumn.OptionsColumn.AllowSort = DefaultBoolean.False;
gridColumn.FieldName = $"DDay_{i}";
gridColumn.Width = 70;
gridColumn.DisplayFormat.FormatType = FormatType.Numeric;
gridColumn.DisplayFormat.FormatString = "{0:#,##0.####}";
gridColumn.Visible = false;
gridColumn.SummaryItem.SummaryType = SummaryItemType.Sum;
gridColumn.SummaryItem.DisplayFormat = "{0:#,##0.####}";
gcMain.GridView.Columns.Add(gridColumn);
DateColumnList.Add(gridColumn);
foreach (GridColumn item in DateColumnList)
{
gcMain.GridView.Columns.Remove(item);
}
gcMain.GridView.Columns.Remove(SumGridColumn);
DateColumnList.Clear();
for (int i = 0; i < dayCount; i++)
{
GridColumn gridColumn = new GridColumn();
gridColumn.AppearanceCell.Options.UseTextOptions = true;
gridColumn.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
gridColumn.AppearanceHeader.Options.UseTextOptions = true;
gridColumn.AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
gridColumn.OptionsColumn.AllowMove = false;
gridColumn.OptionsColumn.AllowSize = false;
gridColumn.OptionsFilter.AllowFilter = false;
gridColumn.OptionsColumn.AllowMerge = DefaultBoolean.False;
gridColumn.OptionsColumn.AllowSort = DefaultBoolean.False;
gridColumn.FieldName = $"DDay_{i}";
gridColumn.Width = 70;
gridColumn.DisplayFormat.FormatType = FormatType.Numeric;
gridColumn.DisplayFormat.FormatString = "{0:#,##0.####}";
gridColumn.Visible = true;
gridColumn.SummaryItem.SummaryType = SummaryItemType.Sum;
gridColumn.SummaryItem.DisplayFormat = "{0:#,##0.####}";
gcMain.GridView.Columns.Add(gridColumn);
DateColumnList.Add(gridColumn);
}
GridColumn sumGridColumn = new GridColumn();
sumGridColumn.AppearanceCell.Options.UseTextOptions = true;
sumGridColumn.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
sumGridColumn.AppearanceHeader.Options.UseTextOptions = true;
sumGridColumn.AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
sumGridColumn.OptionsColumn.AllowEdit = false;
sumGridColumn.OptionsColumn.AllowMove = false;
sumGridColumn.OptionsColumn.AllowSize = false;
sumGridColumn.OptionsFilter.AllowFilter = false;
sumGridColumn.OptionsColumn.AllowMerge = DefaultBoolean.False;
sumGridColumn.OptionsColumn.AllowSort = DefaultBoolean.False;
sumGridColumn.FieldName = $"workingsum";
sumGridColumn.Caption = $"工时合计";
sumGridColumn.Width = 70;
sumGridColumn.DisplayFormat.FormatType = FormatType.Numeric;
sumGridColumn.DisplayFormat.FormatString = "{0:#,##0.####}";
sumGridColumn.Visible = true;
sumGridColumn.SummaryItem.SummaryType = SummaryItemType.Sum;
sumGridColumn.SummaryItem.DisplayFormat = "{0:#,##0.####}";
SumGridColumn = sumGridColumn;
gcMain.GridView.Columns.Add(sumGridColumn);
}
GridColumn sunColumn = new GridColumn();
sunColumn.AppearanceCell.Options.UseTextOptions = true;
sunColumn.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
sunColumn.AppearanceHeader.Options.UseTextOptions = true;
sunColumn.AppearanceHeader.TextOptions.HAlignment = HorzAlignment.Center;
sunColumn.OptionsColumn.AllowMove = false;
sunColumn.OptionsColumn.AllowSize = false;
sunColumn.OptionsFilter.AllowFilter = false;
sunColumn.OptionsColumn.AllowMerge = DefaultBoolean.False;
sunColumn.OptionsColumn.AllowSort = DefaultBoolean.False;
sunColumn.FieldName = $"workingsum";
sunColumn.Caption = $"工时合计";
sunColumn.Width = 70;
sunColumn.DisplayFormat.FormatType = FormatType.Numeric;
sunColumn.DisplayFormat.FormatString = "{0:#,##0.####}";
sunColumn.Visible = true;
sunColumn.SummaryItem.SummaryType = SummaryItemType.Sum;
sunColumn.SummaryItem.DisplayFormat = "{0:#,##0.####}";
gcMain.GridView.Columns.Add(sunColumn);
}
/// <summary>
/// 根据日期修改列状态
/// </summary>
/// <param name="currentDate"></param>
private void UpdateDynamicColumns(DateTime currentDate)
private void UpdateDynamicColumns()
{
DateTime currentDate = DateTime.Now;
BaseUserControl dateUserControl = ControlObj.FindControl("bom_rdm_ksdt");
if (dateUserControl is LabelDateEdit labelDateEdit)
{
currentDate = labelDateEdit.TextEdit.DateTime;
}
int dayCount = 0;
BaseUserControl baseUserControl = ControlObj.FindControl("bom_rdm_tianshu");
if (baseUserControl != null)
@@ -3139,18 +3161,10 @@ namespace Lskj.PubBill
/// <param name="e"></param>
private void OnDataFileRefrshFile(object sender, EventArgs e)
{
BaseUserControl baseControl = (sender as System.Windows.Forms.Control).ToBaseUserControl();
if (baseControl is LabelDateEdit labelDateEdit)
{
DateTime dateTime = labelDateEdit.TextEdit.DateTime;
if (DateColumnList.Count == 0)
{
AddDataColumns();
}
UpdateDynamicColumns(dateTime);
UpdateSummaryData();
OnGcMainDataSourceChanged(gcMain.GridView, null);//手动刷新日期合计数据源
}
AddDataColumns();
UpdateDynamicColumns();
UpdateSummaryData();
OnGcMainDataSourceChanged(gcMain.GridView, null);//手动刷新日期合计数据源
}
/// <summary>
/// <para>说明:刷新单据来源明细</para>
@@ -8321,34 +8335,4 @@ namespace Lskj.PubBill
/// </summary>
/// <param name="cond">The cond.</param>
/// <param name="dataRow">The data row.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
private bool ValidateCond(string cond, DataRow dataRow)
{
bool result = false;
string condition = cond;
try
{
if (string.IsNullOrWhiteSpace(cond)) return true;//如果值是空格或者空行,默认正确
cond = ReplaceHelper.ReplaceRowParam(dataRow, cond);
if (cond.StartsWith("@") || cond.StartsWith("!"))
{
result = "1".Equals(BaseImpl.GetDefaultValue(cond));
}
else if (dataRow == null)
{
result = ReplaceHelper.EvalCond(cond);
}
else
{
result = ReplaceHelper.ReplaceRowParamCond(dataRow, cond);
}
return result;
}
catch (Exception ex)
{
}
return result;
}
}
}
/// <returns><c>true</c> if X