场景:

使用Reporting Service请求SharePoint List,该list中包含人员和组字段。要求:只显示人员或组的display name。示例如下:

项目 参与人员 期望显示
项目1 张三#contoso\zhangsan;李四#contoso\lisi;19;#王五;管理员组 张三;李四;王五;管理员组

步骤:

1. 替换";#"成"@@"

2. 按";"分割成数组,遍历数组,循环取出值

3. 按"#"分割字符串,取数组第一个值

4. 按"@@"分割字符串,取数组第二个值

Public Function GetPersionName(Combined As String) As String
if (InStr(Combined ,"@@") > ) Then
Return Split(Combined,"@@").GetValue()
Else
if(InStr(Combined ,"#") > ) Then
Return Split(Combined,"#").GetValue()
Else
Return Combined
End If
End If
End Function Public Function GetPersionNameStr(Combined As String) As String
if (Combined ="") Then
return ""
End If dim returnStr,i
returnStr= "" Combined = Replace(Combined,";#","@@")
if (InStr(Combined ,";") > ) Then
for i = to Split(Combined,";").Length -
dim str = Split(Combined,";").GetValue(i)
returnStr = returnStr+ GetPersionName(str) + ";"
next
Return returnStr
Else
Return GetPersionName(Combined)+";"
End If
End Function

报表字段里插入fx,值等于

=Code.GetPersionNameStr(Field!参与人员.Value)

预览。

P.S.

在RS中的IIF用起来跟传统的if判断有点不同。IIF不是个表达式,而是个方法,这个方法有3个参数。

IIF(Condition, ValueIfTrue, ValueIfFalse)

也就是说,Condition,ValueIfTrue,ValueIfFalse在运行的时候都会执行。如果你想这样玩儿,你就会失望了。

IIF(
InStr(Fields!User.Value,";") >
,Split(Fields!User.Value,";").GetValue()
,Fields!User.Value
)

不管条件InStr(Fields!User.Value,";") > 0成功与否,Split(Fields!User.Value,";").GetValue(1)都会执行。是不是相当不爽???!!!

SSRS 请求并显示SharePoint人员和组字段的更多相关文章

  1. SharePoint 判断用户是否在字段"人员和组"里面

    两个自己平时写的方法,记录下来,方便以后查找使用: 1.判断用户是否在字段人员和组里面: public static bool IsUserInFiled(int UserID, string Lis ...

  2. 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果

    wget.js:发送HTTP客户端请求并显示响应的各种结果 options对象描述了将要发出的请求.data事件在数据到达时被触发,error事件在发生错误时被触发.HTTP请求中的数据格式通过MIM ...

  3. jquery Ajax请求中显示Loading...

    jquery Ajax请求中显示Loading... $('#btnTest').click(function(){      $.ajax({           url ---- ,根据你需要设置 ...

  4. 请求头里显示Provisional headers are shown的问题

    1.问题描述: 在工作中遇到了一个坑.登录一个系统的时候,退出登录不好使了,前端确实调用了logout的接口(退出接口),但是这个接口的请求头显示Provisional headers are sho ...

  5. sharepoint中的YesNo字段

    sharepoint中的YesNo字段实际上是一个Boolean字段,性格有点特别,如果IsShow是一个YesNo字段,使用caml查询的时候值为”1“(Yes)”0“(No),Item[IsSho ...

  6. 设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段

    设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段,使用下列判断设置更快捷一点: procedure TUniForm.UniDBGridDrawColumnCell(Sender: ...

  7. 利用filter过虑用户请求URI显示对应页面内容

    目的:只是想验证一下filter对URI的过滤 流程讲解:浏览器请求URI,所有请求都走过虑器,在过滤器中处理符合某种请求的URI然后显示对应的页面内容 有2个JSP页面: index.jsp: &l ...

  8. 在其他系统Iframe中显示SharePoint 页面

    前段时间在做一个项目,要求将SharePoint 的 OWA(Office Web Apps)中的文档显示页面嵌入到另外一个OA系统中,提供给用户可以通过浏览器查看SharePoint文档的能力. 嵌 ...

  9. javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe

    在jsp上要引入jquery <script src="<%=request.getContextPath()%>/js/jquery_ui/jquery.js" ...

随机推荐

  1. SDL入门教程(一):3、MinGW 下的安装与设置

    作者:龙飞 3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境.MinGW 收集了一系列免费的Windows 使用的头文件和库文件:同时整合了GN ...

  2. VS代码生成工具ReSharper使用手册:配置快捷键

    原文 http://www.cnblogs.com/PHPIDE/archive/2013/05/16/3081783.html VS代码生成工具ReSharper提供了丰富的快捷键,可以极大地提高你 ...

  3. opencart修改后台文件夹名

    在使用opencart进行二次开发时,若需要修改后台目录的文件夹名是可以操作的.具体步骤如下: 1.将网站后台文件夹名字改成opencartadmin 2.在该文件夹下找到config.php文件如图 ...

  4. c++ 12

    一.模板与继承 1.从模板类派生模板子类 2.为模板子类提供基类 二.容器和迭代器 以链表为例. 三.STL概览 1.十大容器 1)向量(vector):连续内存,后端压弹,插删低效 2)列表(lis ...

  5. asp.net mvc4中自定义404

    原文地址:http://www.chuchur.com/asp-net-mvc4-404/ 定义404 方法当然有很多种.不同的方法所展现的形式也不一样,用户所体验也不一样.以下提供2两种 方法一: ...

  6. Hdu3436-Queue-jumpers(伸展树)

    Description Ponyo and Garfield are waiting outside the box-office for their favorite movie. Because ...

  7. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep ...

  8. 虚拟机设备直通的两种方式(Working in Progress)

    声明: 本博客欢迎转发.但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! pci passthroug ...

  9. 【Struts2】新建一个Struts2工程,初步体验MVC

    实现目标 地址栏输入http://localhost:88/Struts2HelloWorld/helloworld.jsp 输入用户名,交由http://localhost:88/Struts2He ...

  10. SQLLoader4(数据文件中的列与表中列不一致情况-filler)

    A.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中可以为空.----- 这种情况是比较简单的,只需要将数据文件中数据对应的列的名字写到控制文件中即可.因为SQL*Loader是 ...