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编辑  收藏  举报

导航