SharePoint发行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能强大的团队协作环境,使得组织能够在整个组织内部实现整合、组织、查找和提供 SharePoint站点。 最近有这么个需求,用户希望在所有项目视图显示多行文本字段,然后,又不希望显示的过场,也就是处理一下长度。 一开始就想到用js的方式去处理,偶然间发现还可以用jslink,尝试了一下,非常好用,分享给大家。 完整代码 // List View - Substring Long String Sample // Muawiyah Shannak , @MuShannak (function () { // Create object that have the context information about the field that we want to change it's output render var bodyFiledContext = {}; bodyFiledContext.Templates = {}; bodyFiledContext.Templates.Fields = { // Apply the new rendering for Body field on list view "Body": { "View": bodyFiledTemplate } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(bodyFiledContext); })(); // This function provides the rendering logic function bodyFiledTemplate(ctx) { var bodyValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; //This regex expression use to delete html tags from the Body field var regex = /(<([^>]+)>)/ig; bodyValue = bodyValue.replace(regex, ""); var newBodyValue = bodyValue; if (bodyValue && bodyValue.length >= 100) { newBodyValue = bodyValue.substring(0, 100) + " ..."; } return "" + newBodyValue + ""; } ([^> 后来,用户又希望鼠标点击缩略文档的时候,能显示所有内容,天啊,满足客户需求,毕竟,客户就是上帝!!! 简单的改了一下默认脚本的return的值,如下: return "" + bodyValue + "" + newBodyValue + ""; 然后,再加一个切换效果的脚本,如下: function changeShow(obj){ var spans = $(obj).find("span"); if(spans[0].style.display == "none") { spans[0].style.display = "block"; spans[1].style.display = "none"; } else { spans[0].style.display = "none"; spans[1].style.display = "block"; }} 这样,就满足用户单击可以切换缩略文本和完整文本的功了。 运行效果 Sharepoint 可以帮助企业用户轻松完成日常工作。 |
温馨提示:喜欢本站的话,请收藏一下本站!