SharePoint JS Link 之(一) 改变column的颜色
2015-02-05 20:20
691 查看
在SharePoint2013之前,想要修改列表项表单的样式,是一件非常痛苦的事情。一般来说,任何的列表都包含三种表单:
1. 新建列表项(new)
2. 编辑属性(edit properties)
3. 查看列表项(view properties)
除此之外,还有一种显示方法,就是在视图(view)显示,比如:
在SharePoint 2013里,新加了一个功能叫JSLink,有了它,不用写任何后台代码,只需要写JS就能修改列表项的显示了。
比如,我想修改Language列的值颜色,不同的语言显示不同的颜色,如何做到呢?
再次之前先新建一个空白js文件。一个JSLink 文件通常包含两个部分:
1. 注册相关信息给SharePoint。
要修改那个表单/视图? 要修改哪个列?新样式的实现方法是哪个?
2. 新样式的实现方法
这里面返回新的样式的html代码。
首先说第一点。
第二点,返回新的样式:
最终的代码是:
把文件保存成ColumnColor.js,上传到Style Library里。其实你也可以传到其他文档库里,或者是layout下面。
打开文档库的视图,编辑页面,找到文档库视图的web part,编辑webpart,在JSLink里面填写:
~sitecollection/Style Library/JSLink/ColumnColor.js
点OK,停止编辑页面。 就会看到下面的效果:
代码下载地址: http://download.csdn.net/detail/spfarm/8427007
1. 新建列表项(new)
2. 编辑属性(edit properties)
3. 查看列表项(view properties)
除此之外,还有一种显示方法,就是在视图(view)显示,比如:
在SharePoint 2013里,新加了一个功能叫JSLink,有了它,不用写任何后台代码,只需要写JS就能修改列表项的显示了。
比如,我想修改Language列的值颜色,不同的语言显示不同的颜色,如何做到呢?
再次之前先新建一个空白js文件。一个JSLink 文件通常包含两个部分:
1. 注册相关信息给SharePoint。
要修改那个表单/视图? 要修改哪个列?新样式的实现方法是哪个?
2. 新样式的实现方法
这里面返回新的样式的html代码。
首先说第一点。
(function () { var FiledContext = {}; FiledContext.Templates = {}; FiledContext.Templates.Fields = { //为我们要修改颜色的列,定义一个重写样式的方法 "Language": { "View": FiledTemplate } //Language是要修改颜色的列 //View表示要修改的是视图上的显示 //FieldTemplate 是新的样式的实现方法 }; //注册Context给SharePoint SPClientTemplates.TemplateManager.RegisterTemplateOverrides(FiledContext); })();
第二点,返回新的样式:
// 重写样式的方法 function FiledTemplate(ctx) { var Language = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; //在这里返回新的html switch (Language) { case "English": return "<spanstyle='color :#D9D919'>" + Language + "</span>"; break; case "Korean (Korea)": return "<span style='color :#2D882D'>" + Language +"</span>"; break; } }
最终的代码是:
(function () { var FiledContext = {}; FiledContext.Templates = {}; FiledContext.Templates.Fields = { //为我们要修改颜色的列,定义一个重写样式的方法 "Language": { "View": FiledTemplate } }; //注册Context给SharePoint SPClientTemplates.TemplateManager.RegisterTemplateOverrides(FiledContext); })(); // 重写样式的方法 function FiledTemplate(ctx) { var Language = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; //在这里返回新的html switch (Language) { case "English": return "<span style='color :#D9D919'>" + Language +"</span>"; break; case "Korean (Korea)": return "<span style='color :#2D882D'>" + Language +"</span>"; break; } }
把文件保存成ColumnColor.js,上传到Style Library里。其实你也可以传到其他文档库里,或者是layout下面。
打开文档库的视图,编辑页面,找到文档库视图的web part,编辑webpart,在JSLink里面填写:
~sitecollection/Style Library/JSLink/ColumnColor.js
点OK,停止编辑页面。 就会看到下面的效果:
代码下载地址: http://download.csdn.net/detail/spfarm/8427007
相关文章推荐
- SharePoint JS Link 之(二) 改变表单中column的颜色
- sharepoint JSLink 改变列表字体颜色
- Sharepoint JSLink MultiString
- 使用SharePoint Web Serivce(3)--Add a new Item with HyperLink and User Type Column
- SharePoint JS Link 之(五)关于JSLink的一些FAQ
- SharePoint JS Link 之( 三)如何设置JSLink的引用
- SharePoint JS Link 之(四)JSlink常见例子和代码下载
- Create a “% Complete” Progress Bar with JS Link in SharePoint 2013
- winfrom的DataGridView控件选中行的DataGridViewLinkColumn列字体颜色的改变
- 使用SharePoint Web Serivce(4)-HyperLink Type Column 中令我发狂的空格
- Sharepoint JS CSS 注册
- SharePoint Tips and Tricks --如何用JS向PeopleEditor填充数据
- js-改变表格背景颜色
- 对鼠标移到图片上及离开图片时,图片背景颜色改变的JS实现
- [zt]SharePoint Calculate date column -日期计算列(2010-09-16 23:04:14)
- js改变选择的行颜色
- 改变文本框字体颜色的js脚本
- SharePoint Filtered Lookup Column in a List[Sharepoint过滤选项字段,无代码]
- sharepoint form认证下跨域访问其他基本认证的系统(客户端用js的xmlhttprequest)的方法
- 改变文本框字体颜色的js脚本