Delphi FastReports将全局布尔文本True / False更改为是/否?

时间:2016-11-30 12:36:39

标签: delphi fastreport

无论如何要在FastReports中更改布尔值的打印文本?

2 个答案:

答案 0 :(得分:2)

您可以按照以下方式执行此操作:

1-在数据树上,将Boolean字段拖放到乐队中。

2-双击Memo

3-单击格式选项卡。

4-从类别中选择Boolean

5-从格式中选择是/否

6-点击确定按钮。

<强>更新

如果你不处于设计模式,那么:

Var Mem : TfrxMemoView;
Mem := frxReport1.FindObject('MyMemo') as TfrxMemoView;
Mem.DisplayFormat.Kind:=fkBoolean;
Mem.DisplayFormat.FormatStr:='No,Yes';

答案 1 :(得分:0)

尝试使用Page.OnBeforePrint()事件并循环显示替换其Text属性的控件。

procedure Page1OnBeforePrint(Sender: TfrxComponent);
var
   Obj  : TObject;
   Memo : TFrxMemoView;                                                              
   i    : Integer;                                   
begin                                                                                                                         
   for i:=0 to Sender.Objects.Count -1 do
   begin
     Obj := Sender.Objects[i];
     if (Obj is TfrxMemoView) then
     begin                       
       Memo := TfrxMemoView(Obj);             
       if (UpperCase(trim(Memo.Text))='FALSE') then Memo.Text := 'No';
       if (UpperCase(trim(Memo.Text))='TRUE') then Memo.Text := 'Yes';                                                                           
     end;                                      
   end;                  
end;

也许它不是完美的解决方案,但它展示了如何遍历页面对象。