字符串函数

  • 使用串联运算符和      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 函数。

  • RightLen 和 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”更改为“(nnnnnn-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)

  • 测试 Department 字段的值,然后返回子报表名称或 null(在 Visual Basic 中为 Nothing)。此表达式可用于条件性钻取子报表。

复制代码

=IIF(Fields!Department.Value = "Development", "EmployeeReport", Nothing)

  • 测试字段值是否为空。此表达式可用于控制图像报表项的 Hidden 属性。在下面的示例中,字段 [LargePhoto] 指定的图像仅当字段值非空时才会显示。
  • 1. 连接字符
  • =Fields!FirstName.Value + Fields!LastName.Value 连接两个字段在一个单元格中,并一行显示
  • =Fields!FirstName.Value & vbCrLf & Fields!LastName.Value 连接两个字段在一个单元格中显示,但是换行显示
  • 2. If表达式使用
  • =IIF(Fields!LineTotal.Value > 100, True, False) 如果成立执行True的表达式,否则执行False表达式,我可也可以写其它的表达式代替代码里的东西
  • 3. Count表达式使用
  • =Count(Fields!DAILYCOUNT.Value,"WeldingReportDataSet_T_WelderDaily") 计算WeldingReportDataSet_T_WelderDaily数据集中DAILYCOUNT有多少行
  • 3. Sum表达式使用
  • =Sum(Fields!DAILYCOUNT.Value,"WeldingReportDataSet_T_WelderDaily") 计算WeldingReportDataSet_T_WelderDaily数据集中DAILYCOUNT的总和
  • 4. Format表达式使用
  • =CDate(Fields!TOPAINTDATE.Value).ToString("dd MMM yyyy") 对date的格式进行应用

rdlc报表函数的更多相关文章

  1. 将RDL报表转换成RDLC报表的函数

    原文:将RDL报表转换成RDLC报表的函数 近日研究RDLC报表,发现其不能与RDL报表兼容,尤其是将RDL报表转换成RDLC报表.网上的资料贴出的的转换方式复杂且不切实际,遂决定深入研究.经研究发现 ...

  2. 基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表

    RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章<DevExpress的XtraReport和微软RDL ...

  3. DevExpress的XtraReport和微软RDLC报表的使用和对比

    我们开发程序的时候,经常会碰到一些报表,如果是Winform的报表,一般可以采用DevExpress控件组的XtraReport,或者微软的RDLC报表,当然还有一些其他的,在此不再赘述.由于本人在W ...

  4. C# WinForm RDLC报表不预览直接连续打印

    用微软的RDLC报表直接打印不预览 直接上代码. //打印清单 System.Data.DataTable dt = print_QD(dr); ReportViewer rvDoc = new Re ...

  5. 动态生成RDLC报表

    前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取(包括最新的增删改)的数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示.打印. ...

  6. 项目中使用RDLC报表

    原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...

  7. 在MVC项目中使用RDLC报表

    原文地址:http://www.cnblogs.com/wuhuacong/p/4109833.html RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用 ...

  8. 【机房系统知识小结】微软自带RDLC报表,数据汇总设计

    在做机房系统报表的时候,借鉴 八期崔成龙学长的博客< VB.NET rdlc 报表的使用>,照虎画猫的敲了一遍,但是在“汇总项”中,出现了一点小问题. 具体的设计方法在这里就不做介绍了,请 ...

  9. .Net SSRS(rdlc) 报表经验总结

    排版 1. 可以利用表格来布局,以避免调整固定宽度的麻烦. 2. 一个表的表头里还可以嵌套表格. 3. 设置rdlc报表打印格式.首先打开RDLC报表设计器页面.在灰色部分点右键 -> 报表属性 ...

随机推荐

  1. [Selenium]How to click on a hidden link ,move to the drop down menu and click submenu

    <table id="_paid_19" class="GOMainTable" cellspacing="0" cellpaddin ...

  2. Java 设计模式系列(八)装饰者模式

    Java 设计模式系列(八)装饰者模式 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案.Decorator 或 Wrapper 一.装饰模 ...

  3. [C#] == VS Equals

    声明:本篇博客翻译自:https://www.codeproject.com/Articles/1111680/equalsequals-VS-Equals-in-Csharp 由于水平(技术水平+英 ...

  4. ajax 测试

    在学习SpringMVC的过程中,接触到ajax,顺便复习一下前面学习到的知识! 这篇博客中讲的比较详细 http://www.cnblogs.com/lsnproj/archive/2012/02/ ...

  5. WCF Service 配置文件注释(转)

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.S ...

  6. 让UITableView的Cell都变成静态的

    UITableView给我们提供了一个非常不错的展示列表的工具.内置了复用机制,其中的Cell按照一般的写法就可以实现服用,不用在Cell滚动的时候每次都创建一个新的.实现了非常好的用户体验.但是,有 ...

  7. visual studio 2013 git 记住密码

    原有配置: C:\Users\Administrator 下.gitconfig内容为 [user] name = lijf4 email = lijf4@lenovo.com 删除,修改为 [cre ...

  8. 第一周leetcode

    3/27 胡乱投了一堆简历,做了七牛的笔试,看了腾讯的面试题 感觉不懂的还是很多啊,不过也知道了笔试套路其实也不多,基本算法/数据结构(不会太难).c/c++基础(后面的知识类似虚函数需要了解).li ...

  9. 18-11-1 Scrum Meeting 4

    1.会议照片 2.每人的工作 昨天完成的工作 完成测验页面,完善表单验证 完成制定计划,修改计划 关联单词数据,英语单词数据准备 今日计划工作 英文单词的图片准备 完善测验功能 3.项目燃尽图 前端页 ...

  10. Javascript Promises 介绍

    什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口.   传统的回调函数 说到JavaScript的异步编程处理,通常 ...