понедельник, 20 июня 2011 г.

Программное создание представления для списка

using (SPSite site = new SPSite("http://siteUrl"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["nameList"];
System.Collections.Specialized.StringCollection stringColl = new System.Collections.Specialized.StringCollection();
//добавляем поля которые будут в представлении
stringColl.Add("LinkTitle");
stringColl.Add("Title");
list.Views.Add("nameViews", stringColl, @"", 100, true, true, Microsoft.SharePoint.SPViewCollection.SPViewType.Html, false);
list.Update();
}
}
В Views.Add последний параметр указывает на то, общее или персональное будет представление.
Если параметр true то представление будет персональным и создастся оно для пользователя который запустил приложение, чтобы добавить представление для другого пользователя нужно сделать имперсонализацию:
string userName = "Domen\\userName";
SPUserToken userToken = web.AllUsers[userName].UserToken;
using (SPSite site = new SPSite("http://siteUrl", userToken))
{
using (SPWeb web = site.OpenWeb())
{
}
}
Так же к представлению можно добавить фильтр:
string userName = "Domen\\userName";
SPUserToken userToken = web.AllUsers[userName].UserToken;
using (SPSite site = new SPSite("http://siteUrl", userToken))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["nameList"];
System.Collections.Specialized.StringCollection stringColl = new System.Collections.Specialized.StringCollection();

stringColl.Add("LinkTitle");
stringColl.Add("Title");
list.Views.Add("nameViews", stringColl, @"", 100, true, true, Microsoft.SharePoint.SPViewCollection.SPViewType.Html, false);
list.Update();

SPView view = list.Views["nameViews"];
viewTest.Query =
"<Where>" +
"<Or>"+
"<Eq>"+
"<FieldRef Name=\"InternalNameField\" />"+
"<Value Type=\"Text\">nameUser1</Value>"+
"</Eq>"+
"<Eq>"+
"<FieldRef Name=\"internalNameField\" />"+
"<Value Type=\"Text\">nameUser2</Value>"+
"</Eq>"+
"</Or>"+
"</Where>";
view.Update();
}
}

//добавляем поля которые будут в представлении

Комментариев нет:

Отправить комментарий