Delphi-FastReport VCL 5 条件高亮
Delphi-FastReport VCL 5 Conditional highlighting
我已阅读 this manual 并遵循它,但 highlighting
不起作用。
我有什么?
创建新的 VCL 应用程序。
在表单中拖放一个TEdit
和TButton
组件(传递值)。
在表格上拖 TfrxReport
。
在设计模式下打开报表。
在报告页面中放置一个 ReportTile
带。
在 ReportTitle 带中拖放一个 TfrxMemoView
。
添加条件:
1- Value <= 0 -> Red color
2- Value > 0 -> Green color
备忘录的填充颜色仍然Black
即使值为>0
或<=0
。
问题:
为什么这个条件不工作?我怎样才能使条件发挥作用?
更新:
该值已传递给 TfrxMemoView
组件,如下所示:
procedure TForm1.Button1Click(Sender: TObject);
Var Mem : TfrxMemoView;
begin
Mem := frxReport1.FindObject('Memo1') as TfrxMemoView;
Mem.Text := Edit1.Text;
frxReport1.ShowReport();
end;
None 规则被应用,因为 Value 属性 仍然是 NULL。要从 Delphi 代码中分配一个常量值,您可以编写一个常量表达式,例如:
procedure TForm1.Button1Click(Sender: TObject);
var
Memo: TfrxMemoView;
begin
Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
Memo.Text := Format('[%s]', [Edit1.Text]);
frxReport1.ShowReport;
end;
在上面的代码中,我省略了检查是否找到控件。并且,您需要小心输入文本。它只接受格式中不会与 ExpressionDelimiters 属性.
中定义的分隔符冲突的格式的浮点值
或者简单地设置值 属性:
procedure TForm1.Button1Click(Sender: TObject);
var
Memo: TfrxMemoView;
begin
Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
Memo.Text := Edit1.Text;
Memo.Value := StrToFloat(Edit1.Text);
frxReport1.ShowReport;
end;
在这一个中,检查是否找到控件也丢失了。那里不需要转换为浮点数。 Value 可以只是一个可转换为浮点数的字符串。
我已阅读 this manual 并遵循它,但 highlighting
不起作用。
我有什么?
创建新的 VCL 应用程序。
在表单中拖放一个
TEdit
和TButton
组件(传递值)。在表格上拖
TfrxReport
。在设计模式下打开报表。
在报告页面中放置一个
ReportTile
带。在 ReportTitle 带中拖放一个
TfrxMemoView
。添加条件:
1- Value <= 0 -> Red color 2- Value > 0 -> Green color
备忘录的填充颜色仍然Black
即使值为>0
或<=0
。
问题:
为什么这个条件不工作?我怎样才能使条件发挥作用?
更新:
该值已传递给 TfrxMemoView
组件,如下所示:
procedure TForm1.Button1Click(Sender: TObject);
Var Mem : TfrxMemoView;
begin
Mem := frxReport1.FindObject('Memo1') as TfrxMemoView;
Mem.Text := Edit1.Text;
frxReport1.ShowReport();
end;
None 规则被应用,因为 Value 属性 仍然是 NULL。要从 Delphi 代码中分配一个常量值,您可以编写一个常量表达式,例如:
procedure TForm1.Button1Click(Sender: TObject);
var
Memo: TfrxMemoView;
begin
Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
Memo.Text := Format('[%s]', [Edit1.Text]);
frxReport1.ShowReport;
end;
在上面的代码中,我省略了检查是否找到控件。并且,您需要小心输入文本。它只接受格式中不会与 ExpressionDelimiters 属性.
中定义的分隔符冲突的格式的浮点值或者简单地设置值 属性:
procedure TForm1.Button1Click(Sender: TObject);
var
Memo: TfrxMemoView;
begin
Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
Memo.Text := Edit1.Text;
Memo.Value := StrToFloat(Edit1.Text);
frxReport1.ShowReport;
end;
在这一个中,检查是否找到控件也丢失了。那里不需要转换为浮点数。 Value 可以只是一个可转换为浮点数的字符串。