2

特定のフィールドを指定せずに、同じ書式設定ルールを複数のテーブルセル(表示をfalseに設定)に適用する方法はありますか?どういうわけか、現在のテーブルセルのEval()値に、それに応じてフォーマットを適用します。たとえば、1つのルールだけでレポートの値がゼロ([] == 0)のすべての数値セルを非表示にします:)

ここに画像の説明を入力してください

4

1 に答える 1

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);
    }
于 2012-05-16T07:40:00.137 に答える