#c# #sharepoint
#c# #sharepoint
Вопрос:
возможно ли мне отсортировать список sharepoint по дате или по создателю, после чего я начну перебирать его для извлечения данных?
Кроме того, возможно ли выполнить подсчет после того, как я сгруппирую список элементов вместе. Например, я сгруппирую элементы по создателю, затем проверю, сколько таких элементов существует.
Я думаю, что задаю здесь более 1 вопроса, пожалуйста, дайте мне знать, если я должен начать другой вопрос.
Ответ №1:
Для этого можно использовать CAML, например
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. Когда вы получаете элемент из запроса, вы можете получить его количество из коллекции элементов.
Ответ №2:
Все это возможно при использовании LINQ для SharePoint.
Пример из использования LINQ в 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);
}