博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sharepoint 自定义字段
阅读量:5323 次
发布时间:2019-06-14

本文共 2596 字,大约阅读时间需要 8 分钟。

SharePoint已经为一般用户和开发者提供了非常好的可重用的能力。更进一步,你可以定义一个可重用的栏定义,这将为我们带来更大的灵活性。

下面是创建一个自定义字段类型的总体步骤:

1.新建SharePoint工程,并添加SharePoint映射文件夹Xml,在Xml的文件名必须以fldtypes_开头,否则不能识别。

2. 添加自定义字段类(RoyCustomField),代码主要重载 protected override void CreateChildControls(),

如果要设置默认值请Override DefaultValue,如果要验证格式是否正确 请Override GetValidatedString

如下:

 

namespace RoyCustomField{    public class RoyCustomField : SPFieldText    {        protected TextBox txtField;        public RoyCustomField(SPFieldCollection field, string strFieldName)            : base(field, strFieldName)        {        }        public RoyCustomField(SPFieldCollection field, string strFieldName, string strDispName)            : base(field, strFieldName, strDispName)        {        }        public override string DefaultValue        {            get            {                return "Roy";            }        }             public override BaseFieldControl FieldRenderingControl        {            get            {                BaseFieldControl fc = new RoyText();                fc.FieldName = this.InternalName;                return fc;            }        }        public override string GetValidatedString(object value)        {            if (!value.ToString().ToUpper().StartsWith("Roy"))            {                throw new SPFieldValidationException("内容必须以Roy开头!");            }            return value.ToString();        }    }    public class RoyText : BaseFieldControl    {        protected TextBox txtRoy;        protected override void CreateChildControls()        {            base.CreateChildControls();          this.TemplateContainer.FindControl("txtRoy");            txtRoy = new TextBox();            this.Controls.Add(txtRoy);        }               public override object Value        {            get            {                this.EnsureChildControls();                return txtRoy.Text;            }            set            {                this.EnsureChildControls();                txtRoy.Text=(string)this.ItemFieldValue;            }        }        protected override string DefaultTemplateName        {            get            {                return "RoyTextRenderingTemplate";            }        }    }}

3.定义XML

RoyCustomField
Text
RoyCustomField
RoyCustomField
TRUE
RoyCustomField.RoyCustomField,$SharePoint.Project.AssemblyFullName$

4.打包,部署,效果图如下:

 

转载于:https://www.cnblogs.com/Roy_Cao/archive/2012/08/14/2637542.html

你可能感兴趣的文章
linux基础命令
查看>>
牛客假日团队赛1 题解
查看>>
在前端键入>或者<字符的时候报错
查看>>
AUC详细解释
查看>>
mysql数据库中表的外键约束
查看>>
第三天:执行脚本文件
查看>>
RabbitMQ(1)——基础入门
查看>>
开发ASP.NET Atlas服务器端Extender控件——编写客户端Behavior
查看>>
EntityFramework ,ef 介绍
查看>>
【原】接口
查看>>
[luogu1067]多项式输出
查看>>
LeetCode-rotateRight
查看>>
Django安装
查看>>
53. 最大子数组之和(DP)Maximum Subarray
查看>>
python logging一个通用的使用模板
查看>>
20190712 Maxcomputer 客户端的安装
查看>>
【算法总结】哈夫曼树
查看>>
各类IT技术学习视频
查看>>
远程桌面服务当前正忙,因此无法完成您尝试执行的任务-win2008R2
查看>>
图论总结
查看>>