场景描述:
采用表头表体方式建立单据录入界面,表体金额字段在页脚显示合计,并自动更新至表头的金额字段。
存在问题:
1、虽然在CellValueChanged事件里有调用GridView.UpdateSummary()方法但是并未能产生预期的效果,只有在光标发生移动后才会更新合计值。
2、最后一行删除时,不能反馈到表头金额合计。
解决方法:
1、在Grid_CellValueChanged事件中末尾加入:
if (e.Column.SummaryItem.SummaryType != DevExpress.Data.SummaryItemType.None)
{
view.FocusedRowHandle = e.RowHandle - 1;
view.FocusedRowHandle = e.RowHandle;
view.UpdateSummary();
ceAmount.EditValue = Convert.ToDecimal(colAmount01.SummaryItem.SummaryValue ?? 0m);
}
2、增加以下处理事件应对问题2
private void gv_Data_RowCountChanged(object sender, EventArgs e)
{
if (gv_Data.DataRowCount < 1)
{
ceAmount.EditValue = 0m;
}
}