鋭い波のレポート、交差するレポートの中で交差するフィールドに対して、条件をして背景の色を変えます.
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;
}