SharePoint对象模型设置字段是否在新建编辑显示页面中显示
在SharePoint中如果使用页面方式不管是新建的字段还是编辑老字段,其都不能设置字段是否在新建NewForm.aspx、显示DispForm.aspx、编辑EditForm.aspx页面中显示。而通过SharePoint对象模型就可以轻松实现此功能。每个字段的定义中都包括:ShowInDisplayForm、ShowInEditForm、ShowInNewForm属性,使用Ture和False来设置是否显示,其中还有一个ShowInListSettings属性用来设置字段是否在“列表设置”页面中显示。
现在我们将通知列表中指定某个字段在新建NewForm.aspx、显示DispForm.aspx、编辑EditForm.aspx和“列表设置”页面的显示情况,C#代码如下:
/// <summary> /// 设置字段是否显示在相应的页面中 /// </summary> /// <param name="web"></param> /// <param name="listName"></param> protected void SetFieldShowPage(SPWeb web, string listName) { SPList list = web.Lists[listName]; Microsoft.SharePoint.SPField field = list.Fields.GetField("txtField"); //字段不在DispForm.aspx页面中显示 field.ShowInDisplayForm = false; //字段在EditForm.aspx页面中显示 field.ShowInEditForm = true; //字段不在NewForm.aspx页面中显示 field.ShowInNewForm = false; //字段在列表设置页面中显示 field.ShowInListSettings = true; //字段在视图中显示 field.ShowInViewForms = true; field.Update(); }
在上面的代码中,使用了list.Fields.GetField("txtField");来获取指定名称的字段对象SPField,其中使用GetField获取字段时,可以传入字段的内部名称或显示名称。
得到了SPField对象之后,就可以使用其中的属性设置是否在相应的页面中显示了,每个属性的具体含义,我已经在代码中注释了,最后一定要使用SPField的Update()方法将字段的更改保存到数据库中。
我们使用了field.ShowInDisplayForm = false;设置字段不允许出现在“查看项目”页面中,如图1所示:
带图的原文请查看:http://www.360sps.com/item/38eb9bbe217a46bea5d276525ab8b0e4.aspx
posted on 2012-08-22 08:45 lxrc4561200 阅读(398) 评论(1) 编辑 收藏 举报