惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
S
Secure Thoughts
aimingoo的专栏
aimingoo的专栏
量子位
F
Full Disclosure
云风的 BLOG
云风的 BLOG
D
Docker
Stack Overflow Blog
Stack Overflow Blog
Last Week in AI
Last Week in AI
Security Latest
Security Latest
Project Zero
Project Zero
Cyberwarzone
Cyberwarzone
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
T
Threat Research - Cisco Blogs
The Hacker News
The Hacker News
The Register - Security
The Register - Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MyScale Blog
MyScale Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
P
Privacy & Cybersecurity Law Blog
V
Visual Studio Blog
A
Arctic Wolf
L
LINUX DO - 热门话题
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
TaoSecurity Blog
TaoSecurity Blog
Recorded Future
Recorded Future
K
Kaspersky official blog
L
Lohrmann on Cybersecurity
V
V2EX
Recent Announcements
Recent Announcements
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Securelist
S
Security Affairs
Forbes - Security
Forbes - Security
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
C
Cisco Blogs
AI
AI
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
Scott Helme
Scott Helme
Spread Privacy
Spread Privacy

博客园 - Ken Lin

Oracle VS Sql Server Asp.net常用的一些代码(转) - Ken Lin - 博客园 Sharepoint工作流任务权限问题 MOSS开发Tips WSS 扩展文件夹属性-应用场景一 内容查询Web 部件定制 How to submit data in InfoPath form services Form Services方式发布带有Managed Code的表单模板 WSS 代码执行的权限提升 用代码访问InfoPath表单内容 STSADM 进行MOSS的备份与迁移 利用SharePoint Designer更改任务列表状态栏显示 MOSS 工作流(二)自定义开发 通过Web Part Connection 在Web Part 之间传递数据(二) 通过Web Part Connection 在Web Part 之间传递数据(一) WebPart 生存周期 QuickPart中文字符显示问题 MOSS SP1 解决Ajax Extension 对Webpart的兼容性问题 MOSS 工作流(一)
MOSS-自定义字段类型
Ken Lin · 2008-02-27 · via 博客园 - Ken Lin

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 2007Office 2007之间几乎是做了无缝的整合,我们在用office 2007客户端打开MOSS文档库或列表库里的文档的时候,Office 2007里的文档信息面板会自动显示出该文档库或列表库里的MOSS内置字段类型创建的栏。而至少目前2007的版本它是不支持自定义字段类型的客户端支持。
还有一点就是自定义字段类型的值不能超过255个字符.

update:Sharepoint自定义栏在word 2007里的自定义显示

http://www.cnblogs.com/pengyuan512/archive/2008/05/15/1198486.html