资料教程

康虎云报表中如何合并多个字段作为BarCode组件的值?

在康虎云报表系统中,一般的文本组件是支持多个字段合并显示的,例如:

但如果在使用条形码组件,要把多个字段合并的值做为条码值,那么按照上面的这种方法,就会报错:

这是由于目前使用的条形码组件暂时不支持多个字段相加,那怎样才能实现条形码组件显示多个字段值的目的呢?通过脚本可以很好地解决这个问题。按下面的步骤:

1、在报表中放置所需的条形码组件,一维条形码、二维条形码都可以,然后把条形码的DataSet 、DataField、Expression三个属性的值都清空,如下图:

2、切换到代码编辑器,并切换到“事件”页标签,然后选择要操作的条形码对象(本例中是BarCode1和BarCode2D1)后,在该对象的“OnBeforePrint”事件后面空格双击,生成事件函数框架:

3、在刚才生成的事件函数里,填上代码:

procedure BarCode1OnBeforePrint(Sender: TfrxComponent);
var
    barcode: TfrxBarCodeView; //声明一维码对象变量
begin
    //在页面里查找得到一维码对象
    barcode := TfrxBarCodeView( Sender );
    //把一维码对象的text属性赋值,即我们所需要的多字段合并值
    barcode.Text := IntToStr(<customer."CustNo">)+'-'+<customer."Company">;
end;

procedure Barcode2D1OnBeforePrint(Sender: TfrxComponent);
var
    barcode2d: TfrxBarCode2DView; //声明二维码对象变量
begin
    //在页面里查找得到二维码对象
    barcode2d := TfrxBarCode2DView(Sender);
    //把二维码对象的Text属性赋值,即我们所需要的多字段合并值
    barcode2d.Text := IntToStr(<customer."CustNo">)+'-'+<customer."Company">;
end;

在代码编辑器的效果如图:

4、预览报表,效果如下:

完美地达到了我们想要的效果!

发表评论

邮箱地址不会被公开。 必填项已用*标注