如何在EditForm中覆盖SharePoint字段呈现?

时间:2009-11-11 14:23:21

标签: sharepoint sharepoint-2007

我有一个带有选择字段的列表,这是多项选择 - 意味着很多复选框。

我想渲染它,使它被一个框架包围,例如带边框的DIV标签。

alt text (框架应该在HTML文档中)

如何编辑控件模板/ FLDTYPES.XML /创建一个控件/任何东西,来实现这个目标?

谢谢!

3 个答案:

答案 0 :(得分:3)

听起来你正在考虑控制模板。我认为您只是在Web上查找创建自定义SharePoint字段类型的一些成功。您可能希望从SPFieldMultiChoice继承您的字段类型,并且您的控件的ascx文件将包含您的div及其样式。

对于自定义字段类型,您通常需要创建:

  • 字段类型
  • 用于表示字段类型的呈现控件的控件类
  • 包含渲染控件的html脚手架的ascx文件

这篇文章似乎是一个很好的起点:http://www.c-sharpcorner.com/Blogs/BlogDetail.aspx?BlogId=1207

自定义字段类型上的SharePoint SDK条目也足以作为起点使用。

答案 1 :(得分:2)

如Ryan所述,使用jQuery用div包围控件是最干净的方法。它只需要将ContentEditorWebPart(CEWP)添加到站点并上传jQuery库以说明doc lib,或者使用SharePoint Designer,任何文件夹)通过向页面添加如此脚本来包含对jQuery库的引用通过CEWP:

<script type="text/javascript" src="pathtojquerylibrary/jquery.js"> <script>

然后你需要编写一些javascript代码,也可以在CEWP中选择你想要的控件,在你使用jquery选择的html父级中添加一个div,然后将选中的html剪切/粘贴到新的div中。

它看起来像这样(这段代码不完整,当然没有经过测试):

$('query').parent().append('<div></div>').append($('query').html()); 
// where 'query' is the jquery selector for the control you want

答案 2 :(得分:1)

您可能还会考虑SharePoint管道磁带方法 - 内容编辑器Web部件中的javascript / jQuery(CEWP)

这篇文章向您展示了如何将其置于新/编辑表单的整体方法: -

有很多关于SharePoint和jQuery的文章可以为您提供有关如何进一步在复选框周围添加边框的想法,一些链接: -

免责声明 - 这种方法通常被吹捧为“无代码”,而实际情况是它更多地是让您快速“完成工作”(通常是因为它绕过管理员,更改控制等)并且可能应该被视为破解它是。功能强大但使用得当!也许有一点要考虑的是,如果这停止工作(服务包,升级到2010年,tempalte更改等),那么有什么缺点 - 我怀疑缺少边界是否至关重要?

请参阅jQuery - the SharePoint bad aid进行讨论。