有没有一种方法可以将相同的格式规则应用于多个表单元(将可见设置为false),而无需指定特定字段。只是以某种方式对当前表单元格的Eval()值进行相应的格式化。例如。仅使用一条规则即可隐藏报告中所有值为零([] == 0)的数字单元格:)
最佳答案
到目前为止的解决方案-
private const string ZeroValue = "0,00";
public FISaldoAccountReport()
{
InitializeComponent();
RegisterEvents();
}
private void RegisterEvents()
{
positionAmountDebitCell.BeforePrint += NumCellBeforePrint;
positionAmountCreditCell.BeforePrint += NumCellBeforePrint;
positionSaldoCell.BeforePrint += NumCellBeforePrint;
partnerAmountDebitCell.BeforePrint += NumCellBeforePrint;
partnerAmountCreditCell.BeforePrint += NumCellBeforePrint;
partnerSaldoCell.BeforePrint += NumCellBeforePrint;
accountAmountDebitCell.BeforePrint += NumCellBeforePrint;
accountAmountCreditCell.BeforePrint += NumCellBeforePrint;
accountSaldoCell.BeforePrint += NumCellBeforePrint;
accountSumCell.BeforePrint += NumCellBeforePrint;
reportAmountDebitCell.BeforePrint += NumCellBeforePrint;
reportAmountCreditCell.BeforePrint += NumCellBeforePrint;
reportSaldoCell.BeforePrint += NumCellBeforePrint;
}
private static void NumCellBeforePrint(object sender, PrintEventArgs e)
{
var currentCell = sender as XRTableCell;
if (currentCell == null) return;
currentCell.Visible = !currentCell.Text.Equals(ZeroValue);
}