複数行の交差レポートの場合、複数行の交差レポートのフリー・グリッド内の複数のフィールド・コントロールに対して色制御を行います.取値判断等の実現

2596 ワード

注意すべき点は次のとおりです.
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;
}

 
 
ソースのダウンロード