字符串函数

  • 使用串联运算符和      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. jquery记录

    jquery validate验证框架 参考:http://www.cnblogs.com/linjiqin/p/3431835.html http://www.runoob.com/jquery/j ...

  2. Template7学习记录

    来源:http://idangero.us/template7/#.V2iXqJGF6Ul 测试用json数据: var jsonData = { people: [ { firstName: 'Jo ...

  3. LIst和table的转换

    public static class DataTableExtensions { /// <summary> /// 转化一个DataTable /// </summary> ...

  4. BFS入门

    #include<iostream> #include<cstring> #include<queue> using namespace std; #define ...

  5. cmake 语法

    语法说明 CMakeLists.txt 文件遵循一种简单的语法包括 注释,命令和空格字符.注释使用#符号,从符号开始之后的一行都表示注释.命令包括命令名,左括号,分隔参数的空白字符和右括号.命令既可以 ...

  6. 用Swift实现一款天气预报APP(一)

    这个系列的目录: 用Swift实现一款天气预报APP(一) 用Swift实现一款天气预报APP(二) 用Swift实现一款天气预报APP(三) Swift作为现在苹果极力推广的语言,发展的非常快.这个 ...

  7. EBS R12 更改SYSADMIN密码

    SQL> select * from v$version; BANNER------------------------------------------------------------- ...

  8. LoadRunner监控SQLServer

    监控SQLSERVER时,能增加度量.但是只有系统资源相关的度量有数据,而和sqlserver相关的度量却没有数据. 解决方法: 改为在System Resource Graphs中通过添加Windo ...

  9. HTML5、CSS3与响应式Web设计入门(2)

    HTML5的宽泛含义开拓了Web开发的视野,增加了开发方案的多样性,同时也带给很多Web开发者不小的困惑,就是HTML5在涉及到Web某个应用领 域的开发时,到底代表了什么?本篇文章的目的就在于跟大伙 ...

  10. 自定义Team Foundation Server (TFS) 与Project Professional的集成字段

    用户可以象使用Office Excel一样,使用Project Professional连接TFS,将数据下载到本地修改,并且发布到TFS服务器上,如果你习惯使用Project来计划你的项目,那么Pr ...