複数行の交差レポートの場合、複数行の交差レポートのフリー・グリッド内の複数のフィールド・コントロールに対して色制御を行います.取値判断等の実現
2596 ワード
注意すべき点は次のとおりです.
1 . フリー・グリッドの対応するフィールド・ボックスの背景の塗りつぶし方法を変更するには、塗りつぶします.そうしないと効果がありません.
2 . コード内の赤い部門コード:Columnは、詳細なネットワークオブジェクトのプロパティの列セット内の交差列の名前、Report.RunningDetailGrid.Columns.Item("Column_2")
3.青色の部門は自由格のコントロールのインデックス位置である、フィールドボックスの名前によってコントロールすることもできる:contentCell.Controls.Item("FieldBox8")
コードは次のとおりです.
ソースのダウンロード
1 . フリー・グリッドの対応するフィールド・ボックスの背景の塗りつぶし方法を変更するには、塗りつぶします.そうしないと効果がありません.
2 . コード内の赤い部門コード:Columnは、詳細なネットワークオブジェクトのプロパティの列セット内の交差列の名前、Report.RunningDetailGrid.Columns.Item("Column_2")
3.青色の部門は自由格のコントロールのインデックス位置である、フィールドボックスの名前によってコントロールすることもできる:contentCell.Controls.Item("FieldBox8")
コードは次のとおりです.
/**
* , , .
* @author WUYF [email protected]
*/
var contentCell = Report.RunningDetailGrid.Columns.Item("Column_2").ContentCell; //ColumnContent.ContentCells.Item("fieldMajiuhaohao_1");
//contentCell.BackColor = GetColorValue(0, 255, 0);
var htypeCell = contentCell.Controls.Item(2);
var htypeFieldBox = htypeCell.AsFieldBox;
var htypeDataField = htypeFieldBox.DataField;
var htypeValue = Report.RunningDetailGrid.Recordset.Fields.Item(htypeDataField );
if( htypeValue.AsFloat == 3)
{
htypeCell.BackColor = GetColorValue(0,255, 0);
contentCell.Controls.Item(5).BackColor = GetColorValue(255,0, 0);
}
//
function GetColorValue(r,g,b)
{
return r + g*256 + b*256*256;
}
ソースのダウンロード