I need get items from two different folders in a list on Sharepoint 2010, I already have the following code:

SPList List = web.Lists["MyList"];
_titleFolderDispositivos = "firstfolder";
// _titleFolderDispositivos = "secondfolder";
SPFolder oFolder = List.RootFolder.SubFolders[_titleFolderDispositivos];
SPQuery query = new SPQuery();
query.Folder = oFolder;

query.Query = @"<Where>
                    <Eq>
                        <FieldRef Name='Exibir' />
                        <Value Type='Boolean'>1</Value>
                    </Eq>
                </Where>
                <OrderBy>
                    <FieldRef Name='Posi_x00e7__x00e3_o' />
                </OrderBy>";

SPListItemCollection ListItem = List.GetItems(query);

I need to get items into the folder secondfolder commented out in the code. How to join the items into a single search without making two requests?

有帮助吗?

解决方案

Add to your code

query.ViewAttributes = "Scope=\"RecursiveAll\"";

Change your CAML to:

<Where>
  <And>
    <Or>
      <Eq><FieldRef Name="FileDirRef" /><Value Type="Text">firstFolder</Value></Eq>
      <Eq><FieldRef Name="FileDirRef" /><Value Type="Text">secondFolder</Value></Eq>
    </Or>  
    <Eq>
      <FieldRef Name='Exibir' />
      <Value Type='Boolean'>1</Value>
    </Eq>
  </And>
</Where>
<OrderBy>
  <FieldRef Name='Posi_x00e7__x00e3_o' />
</OrderBy>

And run the query on the list, not on the folder.

许可以下: CC-BY-SA归因
scroll top