我正在使用列表视图。我想要一个列看起来类似于名为“类型(链接到文档的图标)”列的文档库列。我也应该能够设置这个超链接图标应该打开的路径。我尝试了很多与现有的网站列,但仍然无法弄清楚如何做到这一点。有没有人在早些时候实施过请分享您的专业知识。提前致谢。如何将名为“类型(链接到文档的图标)”的文档库列添加到列表视图中?
回答
就开箱即用功能而言,您无法直接实现这样的列。类型(链接到文档的图标)使用计算的字段类型。设置这些,特别是对于一个简单的目标来说,这是非常复杂的,并且需要部署解决方案。但是,还有其他方法可以实现这一点。
你想要达到的基本目标基本上是一个链接图片。 URL字段的超链接功能和图片功能的组合。您可以采取两种方法,无需部署解决方案即可完成此任务。我会列出两者,你可以尝试你认为更符合你的口味的那一种或两种。
方案一:URL字段的修改
这其中涉及到更改位于您的SharePoint服务器上的12蜂巢的FLDTYPES.XML。自然,建议您在执行此操作之前先备份当前文件。 FLDTYPES.XML位于\ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 12 \ TEMPLATE \ XML。通过此更改,我们可以使用SharePoint UI中的默认URL字段(在配置为显示HyperLink时)在特定情况下显示图片。
将文件备份为FLK文件FLDTYPES.OLD或什么都可以,然后在文本编辑器中打开FLDTYPES.XML并搜索URL字段。行<Field Name="TypeName">URL</Field>
将在一开始,所以只是搜索。现在,在大字段类型定义中将是一个字段开关。除了我现在手动添加的评论,它看起来像下面这样。
<FieldSwitch>
<Expr><Property Select="Format"/></Expr>
<Case Value="Image">
<FieldSwitch>
<Expr><Property Select="Width"/></Expr>
<Case Value="">
<HTML><![CDATA[<IMG SRC="]]></HTML><Column HTMLEncode="TRUE"/><HTML>" ALT="</HTML><Column2 HTMLEncode="TRUE"/><HTML><![CDATA[">]]></HTML>
</Case>
<Default>
<HTML><![CDATA[<IMG SRC="]]></HTML><Column HTMLEncode="TRUE"/><HTML>" ALT="</HTML><Column2 HTMLEncode="TRUE"/><HTML><![CDATA[" WIDTH="]]></HTML><Property Select="Width"/><HTML><![CDATA[" HEIGHT="]]></HTML><Property Select="Height"/><HTML><![CDATA["> ]]></HTML>
</Default>
</FieldSwitch>
</Case>
<Default>
<HTML><![CDATA[<A HREF="]]></HTML><Column HTMLEncode="TRUE"/><HTML><![CDATA[">]]></HTML>
<Switch>
<Expr><Column2/></Expr>
<Case Value="">
<Column HTMLEncode="TRUE"/>
</Case>
<Default>
<Column2 HTMLEncode="TRUE"/> <!-- This is where we work -->
</Default>
</Switch>
<HTML><![CDATA[</A>]]></HTML>
</Default>
</FieldSwitch>
现在,我们希望在我把评论就行更换<Column2 HTMLEncode="TRUE"/>
。这是设置为“超链接”时显示URL字段的逻辑,并填写了说明,该说明目前只显示该说明。我们希望对其进行更改,以便当此描述是图片的网址时,它会显示该图片。以下是我使用的一个例子。
<Switch>
<Expr>
<GetFileExtension>
<Column2/>
</GetFileExtension>
</Expr>
<Case Value="pnG">
<HTML><![CDATA[<IMG STYLE="border:0" SRC="]]></HTML>
<Column2 HTMLEncode="TRUE"/>
<HTML><![CDATA[">]]></HTML>
</Case>
<Default>
<Column2 HTMLEncode="TRUE"/>
</Default>
</Switch>
基本上,它将该描述作为文件名,检查它是否具有延伸部,并且在匹配的情况下,它会呈现为没有边框的图像。现在,我使用pnG,因为此开关大小写比较区分大小写,但图像的源url不是。因此,当我创建一个字段并将描述指定为“/_layouts/images/FlagRed.pnG”时,它会显示已保存为“/_layouts/images/FlagRed.png”的FlagRed图片。这样,当我想要显示一个实际的图像文本url,那么我可以不用大写结尾。当然,您必须用case语句中的“pnG”替换您使用的任何文件扩展名,并在有更多的时候添加额外的案例。完成后保存文件。
之后,所有设置,在机器上运行IISRESET。一旦完成,您的URL字段现在将能够呈现图像链接。创建新的URL字段时,您需要执行的操作是将其指定为HyperLink类型,将目标链接作为URL并将图像源URL作为描述。以与使用任何其他字段类型相同的方式将URL列添加到列表视图。
方案二:计算HTML字段
而是与服务器搞乱,你可以改用一些JavaScript的一个内容编辑器Web部件。基本上,使用列表视图在页面上插入内容编辑器Web部件,确保它位于列表视图下方。通过在此CEWP中输入脚本,您可以运行它来更改列表视图的显示。这种特殊情况下,我们使用一个脚本,它允许HTML在计算列中呈现为HTML。
以下应该包含获取脚本所需的全部资源:Using Calculated Columns to Write HTML。这里有很多阅读,但是从实现这个脚本中可以获得很多潜力,所以我推荐它。当你最终用脚本设置CEWP时,我们需要在你的列表中有两个字段。
- 其中一个是文本字段,它不会显示在您的列表视图中,但会显示在您的编辑表单中。这将是他们指定超链接路径的地方。
- 然后,您需要创建一个以单行文本形式输出的计算列。使用类似以下的公式:
=CONCATENATE("<a href='",{0},"'><img src='",{1},"' style='border:0' /></a>")
- 将{0}替换为您在方括号中创建的文本字段的名称。所以,如果你称之为“路径”,那么它应该是[路径]。
- 将{1}替换为图标的图像源网址。如果图像有多个选项,则必须添加另一个文本字段来指定图像url,或者使用一些IF逻辑。检查this article以获得计算列公式的语法来设置该逻辑。
计算列添加到您的列表视图。现在,当填写文本字段时,您将获得图像链接。
希望至少有一个这两个帮助!
- 1. SharePoint将Excel文档链接到列表
- 2. 的MongoDB - 添加文档到文档的列表(如果唯一)
- 3. 将超链接添加到PDF文档
- 4. 将文档添加到文档时的Java堆空间文档列表
- 5. 将列表文档链接到列表中
- 6. 如何将图标添加到片段中的列表视图
- 7. 如何将链接添加到PDF文档的文件附件
- 8. 将图像添加到word文档中
- 9. Maven网站文档:将链接添加到其他文档
- 10. 使用Linq查询XML文档并将结果添加到列表视图中
- 11. 将标题添加到列表视图
- 12. 如何将文件链接到文档?
- 13. 如何从Sharepoint列表项目链接到文档库中的文件夹?
- 14. 如何在webMethods流服务中将文档列表中的文档作为行添加到字符串表中
- 15. 将附件添加到文档库中的文档
- 16. 如何将图像列表从URL数组添加到文档中?
- 17. OpenXML:将图像添加到文档
- 18. 将图像添加到现有文档
- 19. 将png图像添加到VHDL文档
- 20. 如何将文件的内容添加到列表视图C#
- 21. 追加到文档内的列表中的子文档中的列表?
- 22. 将文本从文本框添加到列表视图列
- 23. 如何将Silverlight UiElement的图像添加到Word文档中
- 24. 如何将条形图添加到OpenXML创建的文档中
- 25. 如何将图像列表添加到WPF列表视图?
- 26. 将文本视图添加到列表视图
- 27. 如何将该列添加到openerp中的列表视图?
- 28. 如何将SharePoint列表链接到地图? (将地图链接到SharePoint列表)
- 29. 将图像添加到列表视图
- 30. 使用jQuery将raphael生成的图表添加到文档中