SSRS 请求并显示SharePoint人员和组字段
场景:
使用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人员和组字段的更多相关文章
- SharePoint 判断用户是否在字段"人员和组"里面
两个自己平时写的方法,记录下来,方便以后查找使用: 1.判断用户是否在字段人员和组里面: public static bool IsUserInFiled(int UserID, string Lis ...
- 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果
wget.js:发送HTTP客户端请求并显示响应的各种结果 options对象描述了将要发出的请求.data事件在数据到达时被触发,error事件在发生错误时被触发.HTTP请求中的数据格式通过MIM ...
- jquery Ajax请求中显示Loading...
jquery Ajax请求中显示Loading... $('#btnTest').click(function(){ $.ajax({ url ---- ,根据你需要设置 ...
- 请求头里显示Provisional headers are shown的问题
1.问题描述: 在工作中遇到了一个坑.登录一个系统的时候,退出登录不好使了,前端确实调用了logout的接口(退出接口),但是这个接口的请求头显示Provisional headers are sho ...
- sharepoint中的YesNo字段
sharepoint中的YesNo字段实际上是一个Boolean字段,性格有点特别,如果IsShow是一个YesNo字段,使用caml查询的时候值为”1“(Yes)”0“(No),Item[IsSho ...
- 设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段
设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段,使用下列判断设置更快捷一点: procedure TUniForm.UniDBGridDrawColumnCell(Sender: ...
- 利用filter过虑用户请求URI显示对应页面内容
目的:只是想验证一下filter对URI的过滤 流程讲解:浏览器请求URI,所有请求都走过虑器,在过滤器中处理符合某种请求的URI然后显示对应的页面内容 有2个JSP页面: index.jsp: &l ...
- 在其他系统Iframe中显示SharePoint 页面
前段时间在做一个项目,要求将SharePoint 的 OWA(Office Web Apps)中的文档显示页面嵌入到另外一个OA系统中,提供给用户可以通过浏览器查看SharePoint文档的能力. 嵌 ...
- javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe
在jsp上要引入jquery <script src="<%=request.getContextPath()%>/js/jquery_ui/jquery.js" ...
随机推荐
- 最新版AltiumDesignerSummer9下载+破解
下载地址:ed2k://|file|AltiumDesignerSummer9Build9.3.1.19182.7z|1875307483|e65d364bf987fb5dcfb81c081a1562 ...
- CRC校验源码分析
这两天做项目,需要用到 CRC 校验.以前没搞过这东东,以为挺简单的.结果看看别人提供的汇编源程序,居然看不懂.花了两天时间研究了一下 CRC 校验,希望我写的这点东西能够帮助和我有同样困惑的朋友节省 ...
- android AndroidManifest.xml 多个android.intent.action.MAIN (
可以的 ,一个程序是可以有多个入口的.如果你设置两个,并且category都是android.intent.category.LAUNCHER,那么你就 会发现你的手机中就会出现两个快捷方式,也就是两 ...
- base64计算
zjzc01:/root# cat aa.pl use URI::Escape; use URI::Escape qw(uri_unescape); use MIME::Base64; use Dig ...
- 雅虎工程师初始化css
/*css reset code */ /**** 文字大小初始化,使1em=10px *****/ body { font-size:62.5%; } /* for IE/Win */ html&g ...
- OpenStack中给wsgi程序写单元測试的方法
在 OpenStack 中, 针对web应用, 有三种方法来写单元測试 1) 使用webob生成模拟的request from __future__ import print_function imp ...
- 解决一个maven在eclipse中M2_HOME不能调整的问题
在坚持了许久之后,依然还是没能抵住maven的各种攻击,终于从0开始maven. 开始由于有关小项目,时间紧任务重,没仔细研究maven,便匆匆上手了,导致maven库的位置放在了c盘当前用户的数据目 ...
- C# Datatable导出Excel方法
C# 导出Excel方法 先引用下System.IO;System.data; 具体函数如下: public static bool ExportCSV(DataTable dt, string f ...
- HttpWebRequest上传文件(Excel等)
//上传代码/// <summary> /// 文件上传 /// </summary> /// <param name="strAddress"> ...
- 1218.1——OC中的常见关键字及一些基本方法
OC常见的关键字介绍: @ 看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX. @interface 声明类 @implementation 实现类 ...