康虎云报表中,把指定字符串替换成另一个字符串

admin 2020-10-28 13846

今天有个用户提出一个需求:

把某一字段的值中特定字符替换成另一个字符串再打印。


这个需求比较简单,只要在字段组件的OnAfterData事件中,对字段值进行替换就可以。


1、先选定要替换的字段组件,例如产品名称



2、选中产品名称字段组件,然后双击“OnAfterData”事件:



3、在自动打开的脚本编辑器中,输入脚本:



脚本代码如下:

//写个自定义字符串替换函数      
function MyStringReplace(const Input, Find, Replace : String) : String;
var
  P : Integer;
begin
  Result := Input;
  repeat
    P := Pos(Find, Result);
    if P > 0 then begin
      Delete(Result, P, Length(Find));
      Insert(Replace, Result, P);
    end;
  until P = 0;
end;

//这是自动生成的事件函数      
procedure Sale_order_lineproduct_id_nameOnAfterData(Sender: TfrxComponent);
//以下两行定义变量           
var
  S : String;
begin
  //获取字段原始值             
  S := TfrxMemoView(Sender).Memo.Text;
  //把指定字符串替换成新字符串          
  S := MyStringReplace(S, '办公', 'BG');
  //把新字符串赋值给字段组件          
  TfrxMemoView(Sender).Memo.Text := S;
end;

//下面两行不能省                                                               
begin
end.


然后保存模板,就可以了。


最新回复 (0)
返回