鋭い波のレポート、交差するレポートの中で交差するフィールドに対して、条件をして背景の色を変えます.

4042 ワード

鋭い波のレポート、交差するレポートの中で交差するフィールドに対して、条件をして背景の色を変えます.
 
var fieldCount = Report.RunningDetailGrid.ColumnContent.ContentCells.Count;    //  
var lockFieldCount = Report.DetailGrid.CrossTab.ListCols;      //  
var crossFieldCount = fieldCount - lockFieldCount;



for(var colIndex = 1; colIndex <=crossFieldCount;colIndex++)
{
    var crossFieldName = "Amount_" + colIndex;
    var AmountContentCell = Report.RunningDetailGrid.ColumnContent.ContentCells.Item(crossFieldName);
    var cellName = AmountContentCell.DataField;
    var AmountField =Report.RunningDetailGrid.Recordset.Fields.Item(cellName);

    var FontBold = false;
    var FontItalic = false;
    var TextColor;
    var BackColor;

    if (AmountField.AsFloat > 450)
    {
        FontBold = true;
        FontItalic = true;
        TextColor = GetColorValue(0, 255, 0);
        BackColor = GetColorValue(255, 0, 0);
    }else{
        TextColor = GetColorValue(0, 0, 0);
        BackColor = GetColorValue(255, 255, 255);
    }
    
    SetContentCellBackColor(AmountContentCell,BackColor);
    SetContentCellBold(AmountContentCell,FontBold);
}

/************************   ******************************/

/**
 *  
 * @author WUYF
 */
function SetContentCellBackColor(oContentCell,backColor)
{
      oContentCell.BackColor = backColor;
}

/**
 *  
 * @author WUYF
 */
function SetContentCellBold(oContentCell,isBold)
{
      oContentCell.Font.Bold = isBold;
}


function GetColorValue(r,g,b)
{
   return r + g*256 + b*256*256;
}