Microsoft Developer Network > Domovská stránka fór > SharePoint - Design and Customization > DataFormWebPart in SharePoint designer linked to SQL not being able to filter
Odeslat dotazOdeslat dotaz
 

OdpovědětDataFormWebPart in SharePoint designer linked to SQL not being able to filter

  • 6. listopadu 2008 15:31Jeroen Van Bastelaere Uživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     
    Hello,
     

    I am trying to make a DataFormWebPart in SPD. My webpart gets its data from an SQL table, I tried both through a shared procedure and through just selecting the table I needed.

    I can enable the toolbar to do sorting and grouping as it should, but I've been trying to get the filter in the toolbar to work but this just doesn't want to show as it does when I get data from a sharepoint list.
    The checkbox to enable filtering (where you can also check "grouping" and "sort" isn't there.

    Is there a way to make this work?


    Best regards,

    Jeroen

Odpovědi

  • 10. listopadu 2008 7:12Lionel Chen - MSFTMSFT, ModerátorUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     OdpovědětObsahuje kód
    Hi Jeroen,

     

    There is a workaround to realize filtering function, specifically on the modification to correct the XPath expression.

    1.       On the inserted linked source data view, click on the [>] to bring up the Common Data View Tasks pane. Click Filter.

    2.       On the Filter Criteria dialog, configure the filter. Example: Employee LName Begins With 'A'.

    Note: the filter should get successfully applied (albeit, incorrectly) and nothing should show in the data view.

    3.       Go to code view, and search for 'A' (or whatever filter criteria you used). Change the following XPath on the following code (just an example, change your code according to this) snippet from:

     

    <xsl:variable name="Rows"   
     
    select="/dsQueryResponse/JD_Edwards_Test_Data/Rows/Row[starts-with(normalize-space(../../../Rows/Row/@Employee_x0020_LName), 'A')]"/>  
     

     

    to:

     

    <xsl:variable name="Rows" 
    select="/dsQueryResponse/JD_Edwards_Test_Data/Rows/Row[starts-with(normalize-space(@Employee_x0020_LName), 'A')]"/> 


    Note: the change occurs within the normalize-space function. The ../../../Rows/Row/ is erroneous as we are already at that level in the XML structure.
     

    After make the change, the data view should now filter as expected.

     

    Hope it helps! If I misunderstood your concern, feel free to correct me.

     

    Best Regards,

    Lionel

Všechny reakce

  • 10. listopadu 2008 7:12Lionel Chen - MSFTMSFT, ModerátorUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     OdpovědětObsahuje kód
    Hi Jeroen,

     

    There is a workaround to realize filtering function, specifically on the modification to correct the XPath expression.

    1.       On the inserted linked source data view, click on the [>] to bring up the Common Data View Tasks pane. Click Filter.

    2.       On the Filter Criteria dialog, configure the filter. Example: Employee LName Begins With 'A'.

    Note: the filter should get successfully applied (albeit, incorrectly) and nothing should show in the data view.

    3.       Go to code view, and search for 'A' (or whatever filter criteria you used). Change the following XPath on the following code (just an example, change your code according to this) snippet from:

     

    <xsl:variable name="Rows"   
     
    select="/dsQueryResponse/JD_Edwards_Test_Data/Rows/Row[starts-with(normalize-space(../../../Rows/Row/@Employee_x0020_LName), 'A')]"/>  
     

     

    to:

     

    <xsl:variable name="Rows" 
    select="/dsQueryResponse/JD_Edwards_Test_Data/Rows/Row[starts-with(normalize-space(@Employee_x0020_LName), 'A')]"/> 


    Note: the change occurs within the normalize-space function. The ../../../Rows/Row/ is erroneous as we are already at that level in the XML structure.
     

    After make the change, the data view should now filter as expected.

     

    Hope it helps! If I misunderstood your concern, feel free to correct me.

     

    Best Regards,

    Lionel

  • 21. září 2009 16:16vomdan Uživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaileUživatelské medaile
     
    I tried the above in the primary list of a linked aggregate datasource and it works fine.  But is it possible to filter on field in the secondary list of the linked data source?  And if so, how?  thanks