четверг, 23 июня 2011 г.

Programmatically creates list and list items

             using (SPSite site = new SPSite("http://localhost/Base"))
            {
                using (SPWeb web = site.OpenWeb())
                {
                    SPListCollection listCollection = web.Lists;
                    listCollection.Add("nameList","discriptionList",SPListTemplateType.GenericList);
                    //- SPListTemplateType.GenericList - настраеваемый список
                    SPList list = web.Lists["nameList"];
                  
                    //- list.EnableVersioning = true; - Включить создание версий
                    //- list.BreakRoleInheritance(false); - Прекратить наследование разрешений
                    SPList listTask= web.Lists["Задачи"];
                    SPField fieldTask=listTask.Fields["Название"];

                    //- Представление списка по-умолчанию
                    SPView viewList = list.DefaultView;

                    //Добавление текстового поля
                    list.Fields.Add("nameField1", SPFieldType.Text, true);
                    //Добавляем поле в представление
                    viewList.ViewFields.Add("nameField1");

                    //Добавление поля дата и время
                    list.Fields.Add("nameField2", SPFieldType.DateTime, true);
                    viewList.ViewFields.Add("nameField2");

                    //Добавление поля ссылка
                    list.Fields.Add("nameField3", SPFieldType.URL, true);
                    viewList.ViewFields.Add("nameField3");

                    //Добавление поля пользователь
                    list.Fields.Add("nameField4", SPFieldType.User, true);
                    viewList.ViewFields.Add("nameField4");

                    //Добавление поля lookUp
       list.Fields.AddLookup("nameField5", listTask.ID, false);
      SPFieldLookup fieldLookup = (SPFieldLookup)list.Fields["nameField5"];
       fieldLookup.LookupField = fieldTask.InternalName;
       fieldLookup.Update();
       viewList.ViewFields.Add("nameField5");
       viewList.Update();

// Добавление поля Выбор
StringCollection categories = new StringCollection();
categories.AddRange(new string[] { "item1", "item2", "item3" });

list.Fields.Add("fromPosit", SPFieldType.Choice, true, false, categories);
SPFieldChoice fieldChoice = (SPFieldChoice)list.Fields["nameField6"];
fieldChoice.DefaultValue = "item1"; //Значение по-умолчанию
fieldChoice.EditFormat = SPChoiceFormatType.RadioButtons; //Формат выбора
fieldChoice.Update();
viewList.ViewFields.Add("nameField6");


//По умолчанию поля обязательно должны быть заполнены
//Для того чтобы сделать поля не обязательны для заполнения нужно:
                    SPField fieldList = list.Fields["nameField1"];
                    fieldList.Required = false;
                    fieldList.Update();

                    //Для добавления списка в панель быстрого запуска
                    //установить свойство OnQuickLaunch=true
                    list.OnQuickLaunch = true;
                    list.Update();
                   
                }
            }

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

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