是否可以限制Sharepoint列表视图中显示的文本行?
解释这一点最清晰的方法是使用图像:是否可以限制Sharepoint列表视图中显示的文本行?,sharepoint,Sharepoint,解释这一点最清晰的方法是使用图像: 我只想显示“Solution”字段的前两行,否则对于一个长的解决方案,浏览列表会变得非常困难。这可能吗?我已经查看了列表和视图选项,但没有任何明显的内容。无法看到图像,企业阻塞,但对于文本列,这将起作用 创建一个新列并对其进行计算,使公式=left(“您的列”,2000),然后在视图中使用计算列。以下是如何操作,是的,它有点复杂: 首先,创建一个单行文本列,我称之为内容 其次,创建一个计算列,我将其称为ContentCalc,将公式设置为=[Content]
我只想显示“Solution”字段的前两行,否则对于一个长的解决方案,浏览列表会变得非常困难。这可能吗?我已经查看了列表和视图选项,但没有任何明显的内容。无法看到图像,企业阻塞,但对于文本列,这将起作用
创建一个新列并对其进行计算,使公式=left(“您的列”,2000),然后在视图中使用计算列。以下是如何操作,是的,它有点复杂: 首先,创建一个单行文本列,我称之为内容 其次,创建一个计算列,我将其称为ContentCalc,将公式设置为=[Content] 第三,删除第一列内容,然后将其重新创建为多行文本列 第四,创建第三列,我将其称为Summary,并将公式设置为=LEFT([ContentCalc],60),其中60是要截断的任何字符数 最后,要删除这些内容,请将以下源代码插入到列表下的内容编辑器Web部件中:
<script type="text/javascript">
var theTDs = document.getElementsByTagName("TD");
var i=0;
var TDContent = " ";
while (i < theTDs.length)
{
try
{
TDContent = theTDs[i].innerText || theTDs[i].textContent;
if (TDContent.indexOf("<div") == 0)
{
theTDs[i].innerHTML = TDContent;
}
}
catch(err){}
i=i+1;
}
</script>
var theTDs=document.getElementsByTagName(“TD”);
var i=0;
var-TDContent=“”;
而(i 如果(TDContent.indexOf(“使用扩展-折叠技巧,如中所述:这是一个旧线程,但只是为了防止有人无意中发现它寻求帮助……有一种更简单的方法通过html代码来实现这一点。
查看列表时,编辑页面。添加Web部件:内容和媒体>脚本编辑器并粘贴以下代码
<style type="text/css">
.ms-vb2 .ms-rtestate-field {
max-width: 250px;
max-height: 38px;
overflow: hidden;
}
.ms-vb2 .ms-rtestate-field:hover {
max-height: none;
}
</style>
<h2>
</h2>
.ms-vb2.ms rtestate字段{
最大宽度:250px;
最大高度:38px;
溢出:隐藏;
}
.ms-vb2.ms rtestate字段:悬停{
最大高度:无;
}
谢谢,看起来很不错。除了公式可以应用于“单行文本”之外,它本来可以工作的“数据类型,但不是多行。我收到这样的消息:不允许一个或多个列引用,因为这些列被定义为公式中不支持的数据类型。对于其他感兴趣的人,实际公式应该是:=LEFT([Solution],500)”或者您希望限制的字符数。您可以使用SPD工作流将多行复制到一行,然后在该列上使用左函数,但您将在该列中获得HTML;或者创建基于代码的工作流。如果可能,请将多行更改为纯文本。其他选项是更改display.aspx页面,这样您就可以为其创建自定义列表m然后使用xslt修改文本,但即使这样,您也可以删除HTML的结束标记。对摘要列使用此计算定义:=IF(LEN(ContentCalc)>57,LEFT(ContentCalc,60)&“…”,ContentCalc)