C#中RDLC报表常用表达式(字符串和转换)
字符串函数
(1)使用串联运算符和 Visual Basic 常量可将多个字段组合在一起。以下表达式返回两个字段,它们分别位于同一文本框的不同行中:
=Fields!FirstName.Value & vbCrLf & Fields!LastName.Value
(2)使用 Format 函数可设置字符串中日期和数字的格式。下面的表达式以长日期格式显示 StartDate 和 EndDate 参数的值:
=Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")
(3)如果文本框仅包含日期或数字,则应使用文本框的 Format 属性来应用格式设置,而不应在文本框中使用 Format 函数。
Right、Len 和 InStr 函数可用于返回子字符串,例如,修整 DOMAIN\username 以便仅返回用户名。下面的表达式从名为 User 的参数返回反斜杠 (\) 字符右侧的字符串部分:
=Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))
(4)下面的表达式使用 .NET Framework System.String 类的成员而不是 Visual Basic 函数,可得到与上一个表达式相同的值:
=Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)
(5)显示多值参数的所选值。下面的示例使用 Join 函数,将参数 MySelection 的所选值串联到单个字符串中,该字符串可设置为报表项中文本框值的表达式:
= Join(Parameters!MySelection.Value)
(6).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")
(7)注意:
验证 Fields!Phone.Value 的值没有多余的空格并且类型为 System.String。
转换函数
使用 Visual Basic 函数可以将字段从一种数据类型转换为另一种不同的数据类型。转换函数可用于将字段的默认数据类型转换为计算所需的数据类型或用于组合文本。
(1)下面的表达式将常量 500 转换为 Decimal 类型,以将其与筛选表达式 Value 字段中的 Transact-SQL money 数据类型进行比较。
=CDec(500)
(2)下面的表达式显示为多值参数 MySelection 选择的值的数目。
=CStr(Parameters!MySelection.Count)
决策函数
(1)Iif 函数可根据表达式的计算结果(True 或 False)返回两个值中的一个。下面的表达式使用 Iif 函数在 LineTotal 的值超过 100 时返回布尔值 True。否则,它将返回 False:
=IIF(Fields!LineTotal.Value > 100, True, False)
(2)使用多个 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)
Ⅲ、测试 Department 字段的值,然后返回子报表名称或 null(在 Visual Basic 中为 Nothing)。此表达式可用于条件性钻取子报表。
=IIF(Fields!Department.Value = "Development", "EmployeeReport", Nothing)
Ⅳ、测试字段值是否为空。此表达式可用于控制图像报表项的 Hidden 属性。在下面的示例中,字段 [LargePhoto] 指定的图像仅当字段值非空时才会显示。
=IIF(IsNothing(Fields!LargePhoto.Value),True,False)
C#中RDLC报表常用表达式(字符串和转换)的更多相关文章
- WPF中RDLC报表的钻取实现
1.新建wpf项目,并引入3个程序集: Microsoft.ReportViewer.WinForms WindowsFormsIntegration System.Windows.Forms 如果无 ...
- Vs2010中rdlc报表绑定DataTable数据源
首先,新建一个网站,接着添加数据集,并且命名为student,如下图所示: 在该数据集对象上面添加datatable,并且设置列名,如下图所示: 添加一张报表,命名为student,如下图所示: 向报 ...
- php中常用的字符串大小写转换函数实例解释
PHP字符串处理函数中,最为简单的几个函数,相关解释就不上了,直接看例子. PHP字符串处理函数中,最为简单的几个函数,相关解释就不上了,直接看例子. strtolower函数.strtoupper函 ...
- C#中RDLC报表判断某字段的值为null
=iif(Isnothing(Fields!VerifyStateName.Value),"未上报",Fields!VerifyStateName.Value) 空值时赋予默认 ...
- C#中RDLC报表中日期显示格式
转换为日期类型再格式化 =CDate(Fields!UseDate.Value).ToString("yyyy-MM-dd") 使用Format ==Format(Fields!C ...
- Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换
[1]a=[8,13,11,6,26,19,24]1)请输出列表a中的奇数项2)请输出列表a中的奇数 解:1) a=[8,13,11,6,26,19,24] print a[::2] Result:& ...
- python中列表,元组,字符串互相转换
列表,元组和字符串python中有三个内建函数:,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示 >>> s = "xxxxx& ...
- python中列表,元组,字符串 互相转换
#-*-coding:utf-8-*- #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 's ...
- win10下rdlc报表在vs(visual studio)中中文显示小方块的批量处理解决方法
在网上找vs中rdlc报表显示中文时显示小方块的解决方案,无外就是修改文本框的字体属性.但是对于维护已有的rdlc报表时,有中文的地方(此时都显示了小方块)会很多,再一个一个设置实在太麻烦.所以自己花 ...
随机推荐
- iOS 索引列 使用详解
做苹果开发的朋友在地区列表可能会遇到在页面的右侧有一列类似与导航的索引列,这次有机会遇到了,细细研究了一下,原来没有想象中的高达上,只需要简单的几步就能做出自己的索引列.,关注我的博客的朋友可能会对这 ...
- 蓝桥杯-RP大冒险-未解决
RP大冒险 问题描述 请尽情使用各种各样的函数来测试你的RP吧~~~ 输入格式 一个数N表示测点编号. 输出格式 一个0~9的数. 样例输入 0 样例输出 X {当且仅当输出仅有一个数X且X为0~9的 ...
- Java集合【2】--iterator接口详解
目录 一.iterator接口介绍 二.为什么需要iterator接口 三.iterator接口相关接口 3.1 ListIterator 3.2 SpitIterator 3.2.1 SpitIte ...
- 为k8s预留系统资源
为k8s预留系统资源 Kubernetes 的节点可以按照 Capacity 调度.默认情况下 pod 能够使用节点全部可用容量. 这是个问题,因为节点自己通常运行了不少驱动 OS 和 Kuberne ...
- CAS学习过程中的一些记录
1 inline jint Atomic::cmpxchg (jint exchange_value, volatile jint* dest, jint compare_value) { 2 int ...
- sitespeedio前端性能测试工具介绍
很久没有写博客了,今天给大家介绍一款比较好用的前端性能测试工具. sitespeedio简介: sitespeed.io是Jonathan Lee发布的一款可监视和衡量网站前端性能的开源工具. 1.开 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中建立CommandLinkButton信号与Action的槽函数连接
在Qt Designer中,通过F4进行信号和槽函数连接编辑时,接收信号的对象不能是Action对象,但在右侧的编辑界面,可以选择将一个界面对象的信号与Action对象的槽函数连接起来. 如图: 上图 ...
- 小程序map地图点击makert放大效果和点击放大地图
WXML文件和JS文件代码在下方 <view class='map'> <map id="map" longitude="{{location.lng} ...
- 华大MCU单片机之HC32F003/HC32F005 hc32f005_ddl_Rev1.9.0 Lite精简版库使用心得
之前几个项目开发都是用的华大HC32F003_DDL_Rev1.0.2的库函数,今年刚开始入手华大,刚开始不是很了解这个芯片,看到库能用就上手了.这个版本的库编译效率很低,16K的芯片一下就写爆了.后 ...
- IAR环境定义位变量标志位 STM8 MSP430通用
首先建立一个公共点H文件,加入通用代码如下 typedef union { struct { unsigned char b0:1; unsigned char b1:1; unsigned char ...