锐浪 报表, 当多行交叉报表时,对多行交叉报表中自由格中的多个字段控件,进行颜色控制. 取值 判断等实现

需要注意的点是:

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;
}

 

 

源码下载

你可能感兴趣的:(报表)