您的位置:首页 > 其它

SharePoint对象模型设置字段是否在新建编辑显示页面中显示

2012-08-22 08:45 330 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐