Sharepoint -自定义字段类型

WSS 3.0 添加了新的可扩展字段类型。可通过使用 C# 或 Visual Basic® 编写类来创建可扩展字段类型,该字段类型继承自其中一种内置 SharePoint 字段类型(如 SPFieldText 和 SPFieldNumber )。可扩展字段类型也可以使用包含您所喜欢的 Web 控件的 ASP.NET 用户控件,对于控件初始化和验证,您可以使用在 ASP.NET 应用程序中所使用的相同技术。

在MOSS里字段类型得到了广泛的应用,文档库,表单库,列表,内容类型都需要用到字段类型进行扩展。这里的字段类型也就是我们通常所指的像文本,数字,Bool,日期等类型。MOSS本身内置了很多字段类型(MOSS的版本不一样,看到的字段也会有点差别):

可是这些默认的字段类型有时候无法满足我们的需求,比如:

-更丰富的输入,显示UI

-更复杂的逻辑或数据合法性判断检测

因此需要我们去自定义开发满足用户需求的自定义字段类型
做了一个简单的Demo,验证Email格式的自定义字段类型
代码下载

一个标准的自定义字段类型,分为这么几个部分(*为必须的):

1.       *字段类 –对应这个解决方案中的Email.Field.cs
它可以继承自某个内置的字段类型,比如文本类型SPFieldText, 也可以直接继承自最基础的类型SPField
常用的内置字段类型:
单行文本 – SPFieldText
多行文本 – SPFieldMultiLineText
数字 – SPFieldNumber
货币 – SPFieldCurrency
是/否 – SPFieldBoolean
日期 - SPFieldDateTime
选项(单选) - SPFieldChoice

2.       字段值类 –对应Email.Field.Value.cs

3.       字段UI    -EmailFieldRendering.ascx,也可以不用用户控件,直接render

4.       *字段定义文件 -fldtypes_Email.xml

该xml文件中定义了关于该字段类型的一些基本信息,且必须以fldtypes_开头命名

    <FieldName="TypeName">Email</Field>

    <FieldName="ParentType">MultiColumn</Field>

<FieldName="TypeDisplayName">Email</Field>

简单的说,一个自定义字段类型包含3个部分:assembly(dll),UI(ascx),description file(xml)

自定义字段类型部署:

1.       注册assembly(dll) 到 GAC

2.       Copy UI用户控件 .ascx到..."12"TEMPLATE"CONTROLTEMPLATES

3.       Copy 类型定义文件fldtypes_*.xml到.."12"TEMPLATE"xml

4.       重启IIS iisreset

部署完之后,在创建栏的时候,就会看到我们开发的自定义字段类型了。

虽然自定义字段类型是很好用,但是就目前来说它还是有不足的地方:
我们知道MOSS 2007和Office 2007之间几乎是做了无缝的整合,我们在用office 2007客户端打开MOSS文档库或列表库里的文档的时候,Office 2007里的”文档信息面板”会自动显示出该文档库或列表库里的MOSS内置字段类型创建的栏。而至少目前2007的版本它是不支持自定义字段类型的客户端支持。
还有一点就是自定义字段类型的值不能超过255个字符.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值