在sharepoint里面以编程方式创建字段

/// <summary>

    /// 添加字段

    /// </summary>

    /// <param name="fields">添加到的字段集合</param>

    /// <param name="fieldDisplayName">字段名称</param>

    /// <param name="fieldType">字段类型</param>

    /// <param name="defaultVal">默认值</param>

    /// <param name="hidden">是否隐藏</param>

    /// <param name="allowdeletion">是否允许删除</param>

    /// <returns></returns>

    public void CreateField(SPFieldCollection fields, string fieldDisplayName, SPFieldType fieldType, string defaultVal, bool hidden, bool

         allowdeletion)

    {

        if (fieldDisplayName == null) throw new ArgumentNullException("fieldDisplayName");

        //判断是否已经存在该字段

        bool isExists = fields.ContainsField(fieldDisplayName);

        //如果字段存在则不创建

        if (isExists) return;

        //false表示值可以为空

        fields.Add(fieldDisplayName, fieldType, false);

        SPField field = new SPField(fields, fieldDisplayName)

                            {

                                AllowDeletion = allowdeletion,

                                DefaultValue = defaultVal

                            };

        //记得调用Update();方法

        field.Update();

    }



    protected void 创建字段_Click(object sender, EventArgs e)

    {

        using (SPSite site = new SPSite (siteUrl))

        {

            using (SPWeb web = site.RootWeb)

            {

                SPList list = web.Lists["KB"];

                web.AllowUnsafeUpdates = true; //记得设置这个属性哦!

                CreateField(list.Fields, "MyTestAdd", SPFieldType.Text, "Test", false, false);

            }

        }

    }

当然,上面的代码只是简单的实现了添加字段,但是如果字段类型为SPFieldType.User的时候,defaultVal必须写AD里面的用户名,不然字段可以创建成功,你在sharepoint里面使用的时候会报错!

Technorati 标签: ,

你可能感兴趣的:(SharePoint)