DevExpress - 为选定的单元格应用相同的条件格式

时间:2012-05-15 20:38:37

标签: c# devexpress report reporting

是否有办法将相同的格式规则应用于多个表格单元格(将visible设置为false),而无需指定特定字段。只是以某种方式到当前表格单元格的Eval()值并相应地应用格式。例如。使用一个规则隐藏报表上所有数字单元格的零值([] == 0):)

enter image description here

1 个答案:

答案 0 :(得分:2)

到目前为止的解决方案 -

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);
    }