Получение DefaultView через объектную модель клиента - PullRequest
0 голосов
/ 08 августа 2011

Я хочу загрузить поля вида по умолчанию для Sharepoint list до клиентской объектной модели (я использую Silverlight).Вот некоторые важные вещи, которые я нашел ( на MSDN здесь ):

  • класс List имеет свойство DefaultViewUrl [типа string]
  • класс List имеет метод GetView(Guid)
  • класс List имеет свойство Views [типа ViewCollection]
  • класс ViewCollection имеет метод GetById(Guid)
  • класс ViewCollection имеет метод GetByTitle(string)
  • класс View имеет свойство DefaultView [типа bool]

Это все, что я смогнаходить.Как вы можете видеть, прямого способа получить DefaultView нет (отсутствует свойство DefaultViewId в List или GetByUrl(string) метод в ViewCollection).

Мне кажется, что единственным решением являетсяпереберите коллекцию List.Views и проверьте свойство DefaultView для каждого View.Что вроде ... ну, неэффективно ...

Я что-то пропустил?Кто-нибудь видел какое-то прямое решение?Спасибо за идеи.

Ответы [ 2 ]

1 голос
/ 12 апреля 2012

Попробуйте LoadQuery с помощью оператора LINQ

Например:

private IEnumerable<View> viewQuery = null;
public void LoadDefaultView()
{
    using (ClientContext ctx = ClientContext.Current)
    {
        list = ctx.Web.Lists.GetByTitle("YourList");

        viewQuery = ctx.LoadQuery(list.Views
                   .Include(v => v.Title) // include more lamda statements here to populate View Properties
                   .Where(v => v.DefaultView == true));

        ctx.ExecuteQueryAsync(LoadDefaultViewSuccess, LoadDefaultViewFailure);
    }
}
private void LoadDefaultViewSuccess(object sender, ClientRequestSucceededEventArgs args)
{
    // should only be one View in views
    View defaultView = viewQuery.FirstOrDefault();

    // use default.Title here
}
private void LoadDefaultViewFailure(object sender, ClientRequestFailedEventArgs args)
{
    // handle failure here
}

COM-статья MSDN SharePoint 2010 Silverlight здесь http://msdn.microsoft.com/en-us/library/ee538971.aspx

0 голосов
/ 08 августа 2011

А как насчет SPList.DefaultView? Элемент SPList DefaultView является объектом SPView (не bool)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...