2009-11-04 3 views
4

У меня возникла проблема с доступом к последней записи из списка sharepoint через запрос CAML, может ли кто-нибудь помочь мне в этом regrad, у меня есть примерный список под названием «MainHeads», который содержит информацию как HeadID, категория, и headName ....Доступ к последней записи в списке sharepoint через запрос CAML

Мехбуб Пакистан

ответ

5
<View> 
<RowLimit>1</RowLimit> 
<Query> 
    <OrderBy> 
     <FieldRef Name='Created' Ascending='False' /> 
    </OrderBy> 
</Query> 
</View>
+3

Альтернативой может служить идентификационная колонка, которая (AFAIK) также доступна для каждого элемента. –

2

Основываясь на этом answer я дал родственный question, я хотел бы предложить следующий запрос:

SPListItem lastItem; 

try 
{ 
    using (SPSite objSite = new SPSite(sSiteUrl)) 
    { 
     using (SPWeb objWeb = objSite.OpenWeb()) 
     { 
      SPList objList = objWeb.Lists["MainHeads"]; 

      SPQuery objQuery = new SPQuery(); 
      objQuery.Query = "<OrderBy><FieldRef Name='HeadID' Ascending='False' /></OrderBy><RowLimit>1</RowLimit>"; 
      objQuery.Folder = objList.RootFolder; 

      // Execute the query against the list 
      SPListItemCollection colItems = objList.GetItems(objQuery); 

      if (colItems.Count > 0) 
      { 
       lastItem = colItems[0]; 
      } 
     } 
    } 
} 
catch (Exception ex) 
{ 
    ... 
} 

return lastItem; 

Предполагается, что вы выполняете CAML в коде. ЕСЛИ нет, см. F. Aquino's answer.

2
<View> 
<RowLimit>1</RowLimit> 
<Query> 
    <OrderBy> 
     <FieldRef Name='ID' Ascending='False' /> 
    </OrderBy> 
</Query> 
</View> 
Смежные вопросы