设为首页 收藏本站
查看: 1213|回复: 0

[经验分享] 使用SharePoint对象SPFieldCollection获取列表所有字段信息

[复制链接]

尚未签到

发表于 2019-2-5 09:52:58 | 显示全部楼层 |阅读模式
  使用SharePoint对象模型的SPFieldCollection对象可以很容易的获取到某个列表SPList中所有定义的字段信息,主要包括信息:字段类型(TypeDisplayName)、内部名称(InternalName)、显示名称(Title,在字段内部,显示名称使用Title表示)、SchemaXml、ID等信息。通过这些信息可以具体的了解到此列表中字段的详细信息,可以更容易的通过对象模型操作此列表。
下面我们通过一段简单的代码,将通知(Announcements)列表中的所有定义的字段信息使用GridView控件呈现出来。C#代码如下:

view source print?01using System;02using System.Web.UI;03using System.Web.UI.WebControls;04using System.Web.UI.WebControls.WebParts;05 06using System.Collections.Specialized;07using Microsoft.SharePoint;08 09namespace Example.SharePoint.SPField10{11public partial class SPFieldWebPartUserControl : UserControl12{13protected void Page_Load(object sender, EventArgs e)14{15}16 17/// 18/// 根据SPWeb,列表名称获取列表中的所有字段19/// 20/// 21/// 22/// 23protected SPFieldCollection GetAllSPFieldInfo(SPWeb web, string listName)24{25SPFieldCollection fieldColl = null;26if (web != null && !string.IsNullOrEmpty(listName))27{28SPList list = web.Lists[listName];29fieldColl = list.Fields;30}31return fieldColl;32}33 34 35/// 36/// 提交37/// 38/// 39/// 40protected void Button1_Click(object sender, EventArgs e)41{42this.gV.DataSource = this.GetAllSPFieldInfo(SPContext.Current.Web, "Announcements");43this.gV.DataBind();44}45}46}
上面的代码中,主要是使用了SPList.Fields来获取此列表中所有的字段,返回的集合类型为:SPFieldCollection,这是一个集合类型,可以直接将此类型绑定到ASP.NET的GridView控件并显示出来。

在这里要注意,我们在按钮事件中是使用了SPContext.Current.Web来获取此代码运行的当前网站。这样做的好处是以后不管此代码运行在任何的SharePoint环境中不需要做任何修改即可正常运行。

还有一点就是我们在上面的代码中,使用了:

SPFieldCollection fieldColl = null;

来存储SPList.Fields获取的所有字段集合,这样可以提高性能,将所有的字段暂存到SPFieldCollection集合类型中,这样每次调用时不用再重新获取。大大提高了读取的速度。

上面的代码是编写在一个叫做SPFieldWebPart的可视Web部件中,用户控件ASCX布局代码如下:

请查看原文:http://www.360sps.com/item/9154ff6b4de04991b0674c624e6f09fe.aspx



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672063-1-1.html 上篇帖子: 腾讯云搭建高可用SharePoint服务(一)架构说明和虚拟机 下篇帖子: 帐号密码修改后或者修改服务器名后,sharepoint要做的后续措施
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表