1. On a new page insert a few of the Announcements list
  2. Insert a Form Web Part
  3. Change the input type of the Form to be a drop-down field and add some values:
    1. All
    2. 1
    3. 2
  4. Place the cursor into the Data View you created in Step 1 and click on Table..Select > Row
  5. Click on Data..Conditional Formatting
  6. Click on Create
  7. Click on “Show content...“
  8. Field Name == ID
  9. Comparison == Equals
  10. Value == [Input Paramter]
  11. Click OK
  12. Right click the Form Web Part > Web Part Connections
  13. Provide Data Values to...
  14. Web Part on this page...
  15. Modify view using Parameters from...
  16. D1 == Input Parameter
  17. Finish the wizard
  18. Now switch to code view
  19. Add some code so that if the Input Parameter says “All“ you show all values:

currently, the dvt_1.body template looks like this:

         <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="KeepItemsTogether" select="false()"/>
                 <xsl:variable name="HideGroupDetail" select="false()"/>
                 <xsl:variable name="GroupStyle" select="'auto'"/>
                 <xsl:if test="(position() &gt;= $FirstRow and position() &lt;= $LastRow) or $KeepItemsTogether">
                     <xsl:if test="not($HideGroupDetail)" ddwrt:cf_ignore="1">
                         <xsl:if test="@ID = $filterParam">
                             <tr style="display:{$GroupStyle}">
                                 <td class="ms-vb"><xsl:value-of select="@Title"/></td>
                                 <td class="ms-vb"><xsl:value-of select="@Editor"/></td>
                                 <td class="ms-vb"><xsl:value-of select="ddwrt:FormatDate(string(@Modified), 1033, 5)"/></td>
                             </tr>
                         </xsl:if>
                     </xsl:if>
                 </xsl:if>
             </xsl:for-each>
         </xsl:template>

You need to add the code in bright red:

         <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="KeepItemsTogether" select="false()"/>
                 <xsl:variable name="HideGroupDetail" select="false()"/>
                 <xsl:variable name="GroupStyle" select="'auto'"/>
                 <xsl:if test="(position() &gt;= $FirstRow and position() &lt;= $LastRow) or $KeepItemsTogether">
                     <xsl:if test="not($HideGroupDetail)" ddwrt:cf_ignore="1">
                         <xsl:if test="@ID = $filterParam or $filterParam = 'All'">
                             <tr style="display:{$GroupStyle}">
                                 <td class="ms-vb"><xsl:value-of select="@Title"/></td>
                                 <td class="ms-vb"><xsl:value-of select="@Editor"/></td>
                                 <td class="ms-vb"><xsl:value-of select="ddwrt:FormatDate(string(@Modified), 1033, 5)"/></td>
                             </tr>
                         </xsl:if>
                     </xsl:if>
                 </xsl:if>
             </xsl:for-each>
         </xsl:template>

20. Save the page and check it out in the browser.