2017-02-16 9 views
0

私はその列の最初の行の値に基づいて列の背景色を変更する必要があるテーブルを作成しました。レポートの条件に基づいてテーブルの列の背景色を変更

特定の列の最初の行の値が0またはハイフンである場合には( - )は、私は、その特定の列の列に、さもなければ透明 2)すべての値をグレーに)その列の行の背景色を 1を変更する必要がある場合ハイフン( - )で埋めてください。

以下は私が試したものですが、私の要求を達成することはできません。

注:XRTableCellなどのReporting APIコントロールを使用する必要があります。これを達成するための他のアイデアも歓迎されます。

using System; 
using System.Drawing; 
using DevExpress.XtraReports.UI; 

private void tableCell12_BeforePrint_1(object sender, System.Drawing.Printing.PrintEventArgs e) 
{ 
    XRTableCell tableCell = sender as XRTableCell; 
    double bancoAtivo = Convert.ToDouble(tableCell.Report.GetCurrentColumnValue("Campaign Count")); 

    if (bancoAtivo = 0) 
    { 
     tableCell.BackColor = Color.Grey; 
    } 
    else 
    { 
     tableCell.BackColor = Color.Transparent; 
    } 
} 
+0

は...あなたのコードは、実装方法に応じて正常に動作する必要がありませんが、列名にスペースが含まれている場合はできませんステートメントはよく見えます。 –

答えて

0

あなたの実装は正しいですが、問題の説明には若干の違いがあります。また、単一の列セルの色を変更したい場合は、同じアプローチをお勧めします。

XRTableCell.BeforePrintイベントを処理し、送信者オブジェクトのBackcolor またはTextプロパティを変更します。処理されたレコードを取得するには、XtraReportBase.GetCurrentRowまたは XtraReport.GetCurrentColumnValueメソッドを使用します。

あなたはConditional Formattingヘルプ記事で説明したようにFormattingRulesを使用するか、対応するセルのためのBeforePrintイベントを処理し、処理された値に基づいて、送信元オブジェクトのBackColorプロパティを設定することができます。

は、これらを参照してください:あなたのコードは、タイプミスのように見える
Customize the Report Appearance
Changing background of XRTableCell according to color value in data column.
How to change the XRTable background color?

+0

ここでは、データ列の最初の行をチェックする必要があります。つまり、最初の行が0またはハイフンであれば、全列をグレーにしてから、ゼロをゼロに置き換える必要があります。あなたのリンクでは、私は色を変更するコードを取得、私は列の最初の行の条件に基づいて色を変更する必要があります。 – daisy

関連する問題