2011-11-08 4 views
1

私は日付または作成者によって共有リストを並べ替えることができますか?それから、データを取得するためにループリストを開始しますか?リストアイテムをループする前にSharepointリストを並べ替えることはできますか?

また、アイテムのリストをまとめてグループ化した後にカウントすることもできますか。たとえば、アイテムをクリエイターでグループ化し、そこにアイテムがいくつあるかを確認します。

私はここで1つ以上の質問をしていると思います。私は別の質問を開始する必要があるかどうか教えてください。

答えて

1

LINQ to SharePointを使用すると、これらのことがすべて可能です。 Using LINQ to SharePointから

例:

// Get DataContext from page context 
DataContext data = new DataContext(SPContext.Current.Web.Url); 

// Get the SharePoint list 
EntityList<Customer> Customers = data.GetList<Customer>("Customers"); 

// Query for customers from London 
var londonCustomers = from customer in Customers 
         where customer.City == "London" 
         select customer; 

foreach (var londonCust in londonCustomers) 
{ 
    Console.Writeline("id = {0}, City = {1}", londonCust.CustomerId, londonCust.City); 
} 
2

あなたは、例えば、このためにCAMLを使用することができます

OrderByまたはGroupBy

SPList list = ...; //your list; 
var query = new SPQuery(); 
query.Query = "<OrderBy> <FieldRef Name="Your field"/> </OrderBy>" 
//or 
query.Query = "<GroupBy> <FieldRef Name="Your field"/> </GroupBy>" 
var items = list.GetItems(query); 
foreach(var item in items) 
{ 
    //do your work 
} 

しかし、グループ化された項目の計数のためには直接OOBの方法はありません。クエリから項目を取得すると、項目コレクションからその項目を取得できます。

関連する問題