веб-часть dataview, расширяющая первые 3 заголовка группы, оставляя остальные свернутыми - PullRequest
0 голосов
/ 26 января 2012

У меня есть веб-часть dataview, где элементы сортируются по начальной дате и группируются по начальной дате. Таким образом, будут элементы для различных дат начала, сгруппированные по датам. В конструкторе sharepoint мы можем либо развернуть все заголовки группы, либо свернуть их по умолчанию при загрузке страницы. Можно ли получить смесь двух. Как будто первые три расширились, а остальные рухнули. Где я могу внести изменения, чтобы получить эту функциональность?

<xsl:template name="dvt_1.groupheader0">
   <xsl:param name="fieldtitle" />
   <xsl:param name="fieldname" />
   <xsl:param name="fieldvalue" />
   <xsl:param name="fieldtype" />
   <xsl:param name="nodeset" />
   <xsl:param name="groupid" />
   <xsl:param name="displaystyle" />
   <xsl:param name="imagesrc" />
   <xsl:param name="alttext" />
   <xsl:param name="altname" />
   <xsl:param name="hidedetail" />
   <xsl:param name="showheader" />
   <xsl:param name="showheadercolumn" />
   <xsl:if test="$showheader" ddwrt:cf_ignore="1">
    <tr id="group{$groupid}" style="display:{$displaystyle}">
     <td class="ms-gb" colspan="99">
      <xsl:choose>
       <xsl:when test="$groupid='0' or $groupid='9'">
        <xsl:text></xsl:text>
       </xsl:when>
       <xsl:when test="$groupid='1'">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
       </xsl:when>
       <xsl:when test="$groupid='2'">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
       </xsl:when>
       <xsl:when test="$groupid='3'">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
       </xsl:when>
       <xsl:when test="$groupid='4'">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
       </xsl:when>
       <xsl:when test="$groupid='5'">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
       </xsl:when>
       <xsl:when test="$groupid='6'">
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
        <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
       </xsl:when>
      </xsl:choose>
      <xsl:if test="not($hidedetail)" ddwrt:cf_ignore="1">
       <a href="javascript:" onclick="javascript:ExpGroupBy(this);return false;">
        <img src="{$imagesrc}" border="0" alt="{$alttext}" name="{$altname}" /></a>
      </xsl:if>
      <xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes">&amp;nbsp;</xsl:text>
      <b>
       <xsl:value-of select="$fieldtitle" />
      </b>
      <xsl:if test="$fieldtitle">: </xsl:if>
      <xsl:choose>
       <xsl:when test="$fieldtype='url'">
        <a href="{$fieldvalue}">
         <xsl:value-of select="$fieldvalue" />
        </a>
       </xsl:when>
       <xsl:when test="$fieldtype='user'">
        <xsl:value-of select="$fieldvalue" disable-output-escaping="yes" />
       </xsl:when>
       <xsl:otherwise>
        <xsl:value-of select="$fieldvalue" />
       </xsl:otherwise>
      </xsl:choose>
     </td>
    </tr>
   </xsl:if>
  </xsl:template>

1 Ответ

1 голос
/ 26 января 2012

Вы можете добавить на страницу пару функций javascript:

function ExpandXGroups(num_groups_to_expand)
{
 for (i=1; i<=num_groups_to_expand; i++)
 {
  ExpCollGroup('1-' + i + '_','img_1-' + i + '_');
 }
}

function Begin()
{
 ExpandXGroups(3)
}

и вызвать функцию после завершения загрузки страницы:

_spBodyOnLoadFunctionNames.push("Begin");
...