Как создать элемент списка для просмотра всех созданных представлений - PullRequest
0 голосов
/ 26 августа 2011

Как создать представление, которое отображает все представления, присутствующие на сервере Point Point Server 2007

Заранее спасибо

1 Ответ

1 голос
/ 26 августа 2011

Я прошу прощения за то, насколько это грубо, но, надеюсь, это должно указать вам правильное направление. Я не уверен, хотите ли вы сделать это для всего семейства сайтов или для отдельных веб-сайтов, поэтому я сделал это для одной сети, но этот фрагмент можно расширить.

  1. Создание объектов SPSite и SPWeb.
  2. Я предполагаю, что этот список будет находиться на том же уровне, что и списки, на которые он ссылается. Создайте список с именем ViewsList на том же уровне сайта. Дайте ему столбцы Имя списка и Имя просмотра.

После настройки:

SPListCollection lists = web.Lists; //Get all lists in the site   
SPList viewsList = web.Lists["ViewsList"]; //Get reference to the list ViewsList

foreach(SPList list in lists)  //Iterate over all of the lists in the site
{
    SPViewCollection views = list.Views;  //Get all of the views associated with the current list

    foreach(SPView view in views)
    {            
       SPListItem newItem = viewsList.Items.Add();  //create item object to add to list.
       newItem["List Name"] = list.Title; //populate columns
       newItem["View Name"] = view.Title;
       newItem.Update(); //add item to list
    }
}
...