/// <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,Field
记录学习点滴...,坚持每天让自己的技能增加1%,默默的坚持下去吧!:-)