我有一个带有选择字段的列表,这是多项选择 - 意味着很多复选框。
我想渲染它,使它被一个框架包围,例如带边框的DIV标签。
(框架应该在HTML文档中)
如何编辑控件模板/ FLDTYPES.XML /创建一个控件/任何东西,来实现这个目标?
谢谢!
答案 0 :(得分:3)
听起来你正在考虑控制模板。我认为您只是在Web上查找创建自定义SharePoint字段类型的一些成功。您可能希望从SPFieldMultiChoice继承您的字段类型,并且您的控件的ascx文件将包含您的div及其样式。
对于自定义字段类型,您通常需要创建:
这篇文章似乎是一个很好的起点: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进行讨论。