rdlc报表函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rdlc函数
字符串函数
使用串联运算符和Visual Basic 常量可将多个字段组合在一起。以下表达式返回两个字段,它们分别位于同一文本框的不同行中:
复制代码
=Fields!FirstName.Value & vbCrLf & Fields!LastName.Value
使用Format 函数可设置字符串中日期和数字的格式。下面的表达式以长日期格式显示StartDate 和EndDate 参数的值:
复制代码
=Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")
如果文本框仅包含日期或数字,则应使用文本框的Format 属性来应用格式设置,而不应在文本框中使用Format 函数。
Right、Len 和InStr 函数可用于返回子字符串,例如,修整DOMAIN\username 以便仅返回用户名。下面的表达式从名为User 的参数返回反斜杠(\) 字符右侧的字符串部分:
复制代码
=Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))
下面的表达式使用.NET Framework System.String 类的成员而不是Visual Basic 函数,可得到与上一个表达式相同的值:
复制代码
=Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\") +1,
Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)
显示多值参数的所选值。下面的示例使用Join 函数,将参数MySelection 的所选值串联到单个字符串中,该字符串可设置为报表项中文本框值的表达式:
复制代码
= Join(Parameters!MySelection.Value)
.NET Framework System.Text.RegularExpressions 中的Regex 函数对
更改现有字符串的格式很有用,例如设置电话号码格式。下面的表达式使用Replace 函数,将字段中的10 位电话号码格式从“nnn-nnn-nnnn”更改为“(nnn) nnn-nnnn”:
复制代码
=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*(\d{4})", "($1) $2-$3")
注意:
验证Fields!Phone.Value 的值没有多余的空格并且类型为System.String。
转换函数
使用Visual Basic 函数可以将字段从一种数据类型转换为另一种不同的数据类型。转换函数可用于将字段的默认数据类型转换为计算所需的数据类型或用于组合文本。
下面的表达式将常量500 转换为Decimal 类型,以将其与筛选表达式Value 字段中的Transact-SQL money 数据类型进行比较。
复制代码
=CDec(500)
下面的表达式显示为多值参数MySelection 选择的值的数目。
复制代码
=CStr(Parameters!MySelection.Count)
决策函数
Iif 函数可根据表达式的计算结果(True 或False)返回两个值中的一个。下面的表达式使用Iif 函数在LineTotal 的值超过100 时返回布尔值True。否则,它将返回False:
复制代码
=IIF(Fields!LineTotal.Value > 100, True, False)
使用多个IIF 函数(也称为“嵌套IIF”)可以根据PctComplete 的值返回三个值中的一个。下面的表达式可放置在文本框的填充颜色中,从而根据文本框中的值更改背景色。
复制代码
=IIF(Fields!PctComplete.Value >= 10, "Green", IIF(Fields!PctComplete.Value >= 1, "Blue", "Red"))
值大于或等于10 时,显示绿色背景;介于 1 和9 之间时,显示蓝色背景;小于 1 时,显示红色背景。
还有另一种方法可以实现相同功能,即使用Switch 函数。如果您要测试三个或更多条件,Switch 函数将非常有用。Switch 函数可返回与序列中计算结果为True 的第一个表达式相关联的值:
复制代码
=Switch(Fields!PctComplete.Value >= 10, "Green", Fields!PctComplete.Value >= 1, "Blue", Fields!PctComplete.Value = 1, "Yellow", Fields!PctComplete.Value <= 0, "Red",)
值大于或等于10 时,显示绿色背景;介于 1 和9 之间时,显示蓝色背景;等于 1 时显示黄色背景;小于或等于0 时,显示红色背景。
第三种可以实现相同功能的方法是使用Choose 函数。Choose 函数将第一个参数用作其中一个剩余函数参数的索引。第一个参数必须是整数。如果将表中某文本框的背景色设置为此表达式,则MyIndex
的值控制该颜色。
复制代码
=Choose(Fields!MyIndex.Value,"Red","Green","Yellow")
例如,当MyIndex 为 1 时,背景色为“Red”。在查询结果集中,验证MyIndex 的数据没有超出参数列表的范围。
测试ImportantDate 字段的值,如果该值大于一周,则返回“Red”;否则返回“Blue”。此表达式可用于控制报表项中的文本框的Color 属性:
复制代码
=IIF(DateDiff("d",Fields!ImportantDate.Value, Now())>7,"Red","Blue")
测试PhoneNumber 字段的值,如果为null(在Visual Basic 中为Nothing),则返回“无值”;否则返回电话号码值。此表达式可用于控制报表项中的文本框的值。
复制代码
=IIF(Fields!PhoneNumber.Value Is Nothing,"No Value",Fields!PhoneNumber.Value)