Javascript 限制XSLT项中的行数
在SharePoint 2013中,我希望使用数据视图XSLT web部件限制每个项目的行数(而不是通常返回的项目数)。 我在JavaScript中提出了一些建议,以找到div height并在line height属性中对其进行划分,但由于我使用的是XSL,我想知道是否还有其他方法?我也在CSS中寻找一些解决方案,但什么都没有 这是XSLT(我想限制从div“AdministrativePosts”获得的行数):Javascript 限制XSLT项中的行数,javascript,css,xslt,sharepoint-2013,Javascript,Css,Xslt,Sharepoint 2013,在SharePoint 2013中,我希望使用数据视图XSLT web部件限制每个项目的行数(而不是通常返回的项目数)。 我在JavaScript中提出了一些建议,以找到div height并在line height属性中对其进行划分,但由于我使用的是XSL,我想知道是否还有其他方法?我也在CSS中寻找一些解决方案,但什么都没有 这是XSLT(我想限制从div“AdministrativePosts”获得的行数): &载脂蛋白; 0 桌子 结果如下: Lorem Ipsum只是印刷和排版行业
&载脂蛋白;
0
桌子
结果如下:
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着Aldus PageMaker等桌面出版软件的发布,包括Lorem Ipsum版本
但是我希望它只显示前五行,不管div的宽度是多少,所以字符限制在这里不起作用
但是我希望它只显示前五行,不管div的宽度是多少,所以字符限制在这里不起作用
你并不孤单。以下是一些类似的问题:
元素的数量吗?或者您的意思是要限制换行后输出文本占用的行数?是-我要限制换行后输出文本占用的行数。我无法显示输入xml,它是由应用程序根据模式呈现的。但它从SharePoint列表中获取数据(就像一个包含数据的excel)。我在源代码中为其中一个字段(列)提供了大量文本,但我只想显示其中的一部分。当您描述一个问题而不显示问题是什么时,我们无法真正帮助您。您已经显示了XSLT代码和实际结果。您能向我们展示输入的XML和所需的结果吗?你说的“行”或“行”是什么意思还不完全清楚;它们的意思是一样的吗?您的意思是要限制正在处理的
元素的数量吗?或者您的意思是要限制换行后输出文本占用的行数?是-我要限制换行后输出文本占用的行数。我无法显示输入xml,它是由应用程序根据模式呈现的。但它从SharePoint列表中获取数据(就像一个包含数据的excel)。我在源代码中为其中一个字段(列)提供了大量文本,但我只想显示其中的一部分。
<Xsl>
<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema"xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal">
<xsl:output method="html" indent="no"/>
<xsl:decimal-format NaN=""/>
<xsl:param name="dvt_apos">'</xsl:param>
<xsl:param name="ManualRefresh"></xsl:param><xsl:variable name="dvt_1_automode">0</xsl:variable>
<xsl:template match="/" xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:SharePoint="Microsoft.SharePoint.WebControls">
<xsl:choose>
<xsl:when test="($ManualRefresh = 'True')">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<xsl:call-template name="dvt_1"/>
</td>
<td width="1%" class="ms-vb" valign="top">
<img src="/_layouts/15/images/staticrefresh.gif" id="ManualRefresh" border="0" onclick="javascript: {ddwrt:GenFireServerEvent('__cancel')}" alt="Click here to refresh the dataview."/>
</td>
</tr>
</table>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="dvt_1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="dvt_1">
<xsl:variable name="dvt_StyleName">Table</xsl:variable>
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
<xsl:variable name="RowLimit" select="1" />
<div class="AdministrativePosts">
<xsl:call-template name="dvt_1.body">
<xsl:with-param name="Rows" select="$Rows"/>
<xsl:with-param name="FirstRow" select="1" />
<xsl:with-param name="LastRow" select="$RowLimit" />
</xsl:call-template>
</div>
</xsl:template>
<xsl:template name="dvt_1.body">
<xsl:param name="Rows"/>
<xsl:param name="FirstRow" />
<xsl:param name="LastRow" />
<xsl:for-each select="$Rows">
<xsl:variable name="dvt_KeepItemsTogether" select="false()" />
<xsl:variable name="dvt_HideGroupDetail" select="false()" />
<xsl:if test="(position() >= $FirstRow and position() <= $LastRow) or $dvt_KeepItemsTogether">
<xsl:if test="not($dvt_HideGroupDetail)" ddwrt:cf_ignore="1">
<xsl:call-template name="dvt_1.rowview" />
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="dvt_1.rowview">
<xsl:value-of select="@Body" disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet></Xsl>