“文本”对象显示表达式

Top  Previous  Next

这个基本组件一个最重要的特性是不但可以显示静态的文字,而且可以显示表达式的值。表达式可 以和文字混合编辑,下面让我们看一下如何实例表达式。把下面的文字输入“文本”对象:

 

Hello, World! Today is [DATE].

 

当报表运行后我们获得如下结果:

 

Hello, World! Today is 01.01.2004.

 

怎么得到这种结果呢?当康虎云报表渲染报表时,组件中遇到有方括号里面的公式,报表 引擎计算公式并将计算结果插入到公式的位置。“文本”组件可以由任意多个表达式混合组成复合表达式。复合表达式可以带括号(例如:[1+2*(3+4)]),常量、变量、函数和数据字段都可用于表达式。我们将在后面的章节中学习如何使用这些。

 

康虎云报表会自动把方括号里的内容识别为表达式,但在有些情况下我们不想让报表引擎把方括号内的内容都识别成表达式,例如:

 

a[1] := 10

 

报表引擎将把[1]认为是表达式而显示为:

 

a1 := 10

 

这不是我们想要的结果,当然,有一种方式是设置“AllowExpressions”为False来禁用表达式(也可以从右键菜单“允许表达式”去掉勾选 )禁用之后,报表引擎就会显示我们想要的内容:

 

a[1] := 10

 

但在某些情况下方括号里的内容有些是表达式,有些又不是表达式,例如:

 

a[1] := [myVar]

 

这种情况下直接禁用表达式就达不到我们想要的结果。康虎云报表提供了表达式定义符重设功能,通过“ExpressionDelimiters”属性把默认的表达式定义符“[,]”设置成其他定义符,下面的例子就是把表达式定义符改成“<,>”:

 

a[1] := <myVar>

 

夫达式定义符的格式是“<,>”,前两个定义符之间用“,”分开,另外一个要求是开始标记和结束标记不能相同,所以“%,%”是无效的。也可以使用复合标记,例如:“<%,%>”,我们的例子就如下所示:

 

a[1] := <%myVar%>