Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I've run into a bug with a List web part that has me stumped.

Bug description: Using the web part and XSL specified below, expanding groups may result in items from the wrong group being shown. Specifically, a certain sequence of events seems to trigger the bug:

1) Make sure all groups are collapsed by default
2) Expand one of the groups
3) Collapse that same group
4) Expand one of the other groups and it will show the items from the group that was just collapsed

Application description: This web part and XSL are intended to display Service Request (Help Desk request) items, grouped by Status. When an item's status is not "Closed" and is between 2 and 4 weeks old, it's colored yellow. When an item is not "Closed" and is over 4 weeks old, it's colored red.

<WebPartPages:XsltListViewWebPart runat="server" AllowHide="True" PartImageSmall="" PartOrder="2" Title="Service Requests" ManualRefresh="False" ViewGuid="{4409BF05-675F-4DCA-8703-2F3C395B9B27}" HelpMode="Modeless" AllowEdit="True" SuppressWebPartChrome="False" ShowWithSampleData="False" ListId="5961e440-057a-4d87-937c-7acf17273d27" GhostedXslLink="main.xsl" PageSize="-1" UseSQLDataSourcePaging="True" EnableOriginalValue="False" ConnectionID="00000000-0000-0000-0000-000000000000" ExportControlledProperties="False" AutoRefreshInterval="60" ViewContentTypeId="0x" Description="" AllowZoneChange="True" CatalogIconImageUrl="/_layouts/images/itgen.png" ID="g_4409bf05_675f_4dca_8703_2f3c395b9b27" MissingAssembly="Cannot import this Web Part." FrameState="Normal" ChromeType="None" AllowMinimize="True" Dir="Default" ViewFlag="8388621" AllowConnect="True" DetailLink="/helpdesk/Lists/Service Requests" WebId="00000000-0000-0000-0000-000000000000" PartImageLarge="/_layouts/images/itgen.png" TitleUrl="/helpdesk/Lists/Service Requests" ListName="{5961E440-057A-4D87-937C-7ACF17273D27}" ExportMode="NonSensitiveData" FrameType="None" DataSourceID="" IsIncludedFilter="" AllowRemove="True" HelpLink="" IsIncluded="True" IsVisible="True" AsyncRefresh="False" AutoRefresh="False" InitialAsyncDataFetch="False" __MarkupType="vsattributemarkup" __WebPartId="{4409BF05-675F-4DCA-8703-2F3C395B9B27}" __AllowXSLTEditing="true" __designer:CustomXsl="fldtypes_Ratings.xsl" WebPart="true" Height="" Width="">
  <DataFields>
  </DataFields>
  <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" xmlns:o="urn:schemas-microsoft-com:office:office">
      <xsl:include href="/_layouts/xsl/main.xsl"/>
      <xsl:include href="/_layouts/xsl/internal.xsl"/>
      <xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() &gt;= $FirstRow and position() &lt;= $LastRow)]"/>
      <xsl:param name="dvt_apos">&apos;</xsl:param>
      <xsl:param name="Today">CurrentDate</xsl:param>
      <xsl:template mode="Item" match="Row" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
        <xsl:param name="Fields" select="."/>
        <xsl:param name="Collapse" select="."/>
        <xsl:param name="Position" select="1" />
        <xsl:param name="Last" select="1" />
        <xsl:variable name="thisNode" select="."/>
        <xsl:variable name="ID">
          <xsl:call-template name="ResolveId">
            <xsl:with-param name="thisNode" select ="."/>
          </xsl:call-template>
        </xsl:variable>
        <xsl:variable name="FSObjType">
          <xsl:choose>
            <xsl:when test="$EntityName != ''">0</xsl:when>
            <xsl:otherwise>
              <xsl:value-of select="./@FSObjType"/>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:variable name="altClass">
          <xsl:choose>
            <xsl:when test="$Position mod 2 = 0">ms-alternating</xsl:when>
            <xsl:otherwise></xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:variable name="hoverClass">
          <xsl:choose>
            <xsl:when test="($TabularView='1' and $MasterVersion=4) or $InlineEdit">ms-itmhover</xsl:when>
            <xsl:otherwise></xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:variable name="EditMode" select="$dvt_form_key = @ID or $dvt_form_key = @BdcIdentity"/>
        <xsl:variable name="CreatedTicks" select="ddwrt:DateTimeTick(ddwrt:GenDisplayName(string(@Created)))" />
        <xsl:variable name="TodayTicks" select="ddwrt:DateTimeTick(ddwrt:GenDisplayName(string(ddwrt:Today())))" />

        <xsl:variable name="yellowClass">
          <xsl:choose>
            <xsl:when test="@Request_x0020_Status != 'Closed' and $CreatedTicks &lt;= ($TodayTicks - (7*24*3600*1000*10000)) and $CreatedTicks &gt;= ($TodayTicks - (15*24*3600*1000*10000))">code-yellow</xsl:when>
            <xsl:otherwise></xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:variable name="redClass">
          <xsl:choose>
            <xsl:when test="@Request_x0020_Status != 'Closed' and $CreatedTicks &lt;= ($TodayTicks - (15*24*3600*1000*10000))">code-red</xsl:when>
            <xsl:otherwise></xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <tr>
          <xsl:attribute name="style">
            <xsl:if test="$Collapse">display:none;</xsl:if>
          </xsl:attribute>

          <xsl:attribute name="class">
            <xsl:value-of select="normalize-space(concat($altClass, ' ', $yellowClass, ' ', $redClass, ' ', $hoverClass))"/>
          </xsl:attribute>

          <xsl:if test="($TabularView='1' and $MasterVersion=4) or $InlineEdit">
            <xsl:attribute name="iid">
              <xsl:value-of select="$ViewCounter"/>,<xsl:value-of select="$ID"/>,<xsl:value-of select="$FSObjType"/>
            </xsl:attribute>
          </xsl:if>
          <xsl:if test="$EditMode">
            <xsl:attribute name="automode">
              <xsl:value-of select ="$ViewCounter"/>
            </xsl:attribute>
          </xsl:if>
          <xsl:if test="$TabularView='1' and $MasterVersion=4">
            <td class="ms-vb-itmcbx ms-vb-firstCell">
              <input type="checkbox" class="s4-itm-cbx"/>
            </td>
          </xsl:if>
          <xsl:if test="$InlineEdit">
            <xsl:call-template name="AutoModeHeader"/>
          </xsl:if>
          <xsl:for-each select="$Fields">
            <xsl:choose>
              <xsl:when test="$EditMode and not(@ReadOnly='TRUE') and not(@FieldType='Recurrence') and not(@FieldType='CrossProjectLink')">
                <xsl:call-template name="AutoModeForm">
                  <xsl:with-param name="thisNode" select="$thisNode" />
                  <xsl:with-param name="Position" select="$Position"/>
                  <xsl:with-param name="Fields" select="$Fields"/>
                </xsl:call-template>
              </xsl:when>
              <xsl:otherwise>
                <xsl:apply-templates select="." mode="printTableCellEcbAllowed">
                  <xsl:with-param name="thisNode" select="$thisNode"/>
                </xsl:apply-templates>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:for-each>
        </tr>
      </xsl:template>
    </xsl:stylesheet>
  </Xsl>
  <ParameterBindings>
    <ParameterBinding Name="dvt_sortdir" Location="Postback;Connection" />
    <ParameterBinding Name="dvt_sortfield" Location="Postback;Connection" />
    <ParameterBinding Name="dvt_startposition" Location="Postback" DefaultValue="" />
    <ParameterBinding Name="dvt_firstrow" Location="Postback;Connection" />
    <ParameterBinding Name="OpenMenuKeyAccessible" Location="Resource(wss,OpenMenuKeyAccessible)" />
    <ParameterBinding Name="open_menu" Location="Resource(wss,open_menu)" />
    <ParameterBinding Name="select_deselect_all" Location="Resource(wss,select_deselect_all)" />
    <ParameterBinding Name="idPresEnabled" Location="Resource(wss,idPresEnabled)" />
    <ParameterBinding Name="AddNewAnnouncement" Location="Resource(wss,addnewitem)" />
    <ParameterBinding Name="NoAnnouncements" Location="Resource(wss,noXinviewofY_LIST)" />
    <ParameterBinding Name="NoAnnouncementsHowTo" Location="Resource(wss,noXinviewofY_DEFAULT)" />
  </ParameterBindings>
  <XmlDefinition>
    <View Name="{4409BF05-675F-4DCA-8703-2F3C395B9B27}" MobileView="TRUE" Type="HTML" Hidden="TRUE" DisplayName="" Url="/helpdesk/Lists/Service Requests/ColorCoded.aspx" Level="1" BaseViewID="1" ContentTypeID="0x" ImageUrl="/_layouts/images/generic.png">
      <Query>
        <GroupBy Collapse="TRUE" GroupLimit="30">
          <FieldRef Name="Request_x0020_Status"/>
        </GroupBy>
        <OrderBy>
          <FieldRef Name="Created" Ascending="FALSE"/>
        </OrderBy>
      </Query>
      <ViewFields>
        <FieldRef Name="Ticket_x0020_Number"/>
        <FieldRef Name="Title"/>
        <FieldRef Name="Created"/>
        <FieldRef Name="Client_x0020_Name"/>
        <FieldRef Name="Network"/>
        <FieldRef Name="Request_x0020_Status"/>
        <FieldRef Name="User_x0020_Priority"/>
        <FieldRef Name="Help_x0020_Desk_x0020_Priority"/>
        <FieldRef Name="Service_x0020_Representative"/>
      </ViewFields>
      <RowLimit Paged="TRUE">30</RowLimit>
      <Aggregations Value="Off"/>
      <Toolbar Type="None"/>
    </View>
  </XmlDefinition>
</WebPartPages:XsltListViewWebPart>

Any help would be much appreciated!

share|improve this question
    
I'm very curious to know if you managed to sort this out as we have the exact same issue? –  user16973 May 14 '13 at 4:35
    
Unfortunately no... If I remove the XSLT reference, it no longer happens, so there must be something about the XSL markup causing the problem. –  Dom Rocco May 22 '13 at 13:11
add comment

1 Answer 1

This is one of the known bug in SharePoint, can you please let me know when you had last patch upgrade for your SharePoint server.

The 2012 Dec patch most probably would fix your issue.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.