报表模板定制 - 添加脚本


BRCM报表功能提供了强大的报表模板定制功能,用户可以方便的创建和编辑报表,借助可视化的报表编辑器组织报表数据。除了定制各种格式的表格,用户甚至可以在报表模板中加入编程脚本,根据实际需要对报表中的数据进行处理。

下面,我们结合一个实际案例,说明在报表模板中应用编程脚本的过程。

1. 报表模板需求

在电缆报表中,“电缆长度” 按电缆的实际长度列出,处于实际应用的考虑,我们希望电缆长度统计为5的倍数,如18米长的电缆,在报表中应为20米。

2. 编辑报表模板

打开对应的报表模板“Detail_Cable_Schedule”进行编辑,选择“LENGTH”长度数据项,需要添加脚本对该数据进行处理。在右下“Property Grid”中,找到"Scripts"项。

展开"Scripts"项,选择“Before Print”创建新脚本:

3. 创建数据处理脚本

选择New后,系统自动打开脚本编辑功能,可以在其中添加脚本。以C#格式为例:

//定义电缆长度变量
System.Double cableLength = 0;

//系统自动生成在显示报表前调用的函数
private void tableCell23_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
    //读取报表中初始电缆长度值,及系统返回的实际电缆长度值 
    cableLength = System.Convert.ToDouble(GetCurrentColumnValue("LENGTH"));
    //对电缆长度按5的倍数向上取整 
    cableLength = System.Math.Ceiling (cableLength/5) * 5;
    //将取整后的电缆长度赋值给报表中的列 
    (sender as XRLabel).Text = cableLength.ToString();
}

4. 报表结果

将脚本保存后,运行修改后的报表模板:


 

备注:这只是在报表模板定义中应用脚本实现工程需求的一个很小的示例,通过在报表模板中嵌入脚本,可以实现大量复杂的报表生成工作。在Bentley Substation的默认报表模板中,也存在了大量已经定义好的脚本实现各种不同功能,可以起到很好的参考作用。