惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
博客园 - 【当耐特】
D
Docker
Y
Y Combinator Blog
L
LangChain Blog
博客园 - 三生石上(FineUI控件)
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
F
Fortinet All Blogs
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
B
Blog
The GitHub Blog
The GitHub Blog
腾讯CDC
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
爱范儿
爱范儿
A
About on SuperTechFans
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 黄耀辉

PMP应考知识点-合同类型以及选择要领 敏捷宣言及原则(中英对照) Scrum笔记 PMP(第六版)十大知识领域、五大项目管理过程组、49个过程矩阵 跟大家分享Entity Framework使用Code First方式如何连接到现有数据库 SharePoint2010主题和样式揭秘(1) 在SSIS中使用SharePoint列表作为源和目标 修复Win7桌面我的电脑右键属性的“管理”窗口打不开 将GAC中的程序集复制出来的方法 VSTS2008如果团队资源管理器中项目的报表文件夹出现“红叉”试试这样解决。 SharePoint中引用图片库中缩略图的一种方式 让乌龟SVN(TortoiseSVN)提交时忽略bin和obj目录 - 黄耀辉 - 博客园 你还在想用VSS2005的Internet访问方案来做远程协作吗? Team Foundation Server 2008使用SQLServer2008 SP1做存储层的部署方法 WSS&MOSS常见问题及解决方法[不断更新] - 黄耀辉 - 博客园 SQL注入案例曝光,请大家提高警惕 再见了亲爱的学生们,再见了敬爱的同事们,再见了信狮 ASP.NET 3.5 Extensions CTP 预览版 已经发布 .NET Framework开源了!ASP.NET 3.5扩展发布!Silverlight 2.0发布!
SharePoint的列表中某列去除重复值的一种方法
黄耀辉 · 2009-12-11 · via 博客园 - 黄耀辉

     今天偶然看到有位同学在帖子上请教如果在列表中去除重复值的问题,从09年8月到现在没有解决(原文),正好最近也在研究SharePoint开发,正好有练习题目了:)

     有同学想过用CAML中的Group去获取,但你会发现执行查询后(即:SPList.GetItems(SPQuery))的结果集没有发生变化。而我的尝试是从列表着手的,后来发现列表对象有个GetDistinctFieldValues方法,经验证可以解决类似SQL中select distinct的功能。而且用几行代码就可以解决问题,也不需要写循环遍历的代码和逻辑。请看下边:   

1             //先确定你要获取哪栏(列)的不重复值,这里把voteBoxList换成你的列表实例,“得票人”换成你要处理的列名
2             SPField distinctField = voteBoxList.Fields["得票人"]; 
3             //准备一个二维对象数组做输出参数来接收列的结果(即你最后要的不重复值)
4             object[,] distinctResult = new object[0,10];
5             //调用GetDistinctFieldValues后distinctResult就是不重复的值,而返回resultCount 就是有多少个值
6             uint resultCount = voteBoxList.GetDistinctFieldValues(distinctField, out distinctResult);
7 

     可能这里疑问最多的就是为什么装结果为什么要用二维数组?这个问题我也知道,呵呵。另外,就是为什么初始化是new object[0,10],10个结果以上怎么办?细心的也可以知道了,你可以放心,其实[0,0]也行,方法内部做了数组替换的处理,初始是可以装30个值。最后就是wss的SDK资源实在太少了,像刚刚说的GetDistinctFieldValues方法SDK文档里面居然一片空白,联机的MSDN上也是。这个真的是科学都解释不了的,呵呵。

     其实解决一个问题的方案会有很多种,我这里提出其一跟大家交流一下。SharePoint2010听说4月要Release了,因为时间关系还没来得及第一时间去体验,希望各位以后多点来我博客(Ryu666's IT乐园)交流。