В предыдущем примере мы создали новый, пустой веб-узел. А поскольку природа не терпит пустоты, мы добавим туда новый список.
Поскольку сигнатура метода main генерируется с учетом объектов, выделенных во всех окнах браузера, прежде чем продолжить, нужно снять все выставленные флаги, для этого нужно нажать Clear All Checks на панели инструментов.
Для создания списка нам потребуется коллекция списков веб-узла, а также шаблон списка. Получить ссылки на эти объекты можно разными способами, но мы выберем самый простой – просто найдем их в дереве и пометим флагами: коллекция списков находится в свойстве Lists, шаблон списка нужно найти и пометить перебрав коллекцию ListTemplates (для определенности выберем шаблон, у которого свойство Type = Events).
Создав новое окно сценария, мы увидим следующий программный код:
C# using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; using MAPILab.SharePoint.Explorer.CodeForm; using MAPILab.SharePoint.Explorer.Utilities.ScriptRunner; public class Tester { static void Main( Microsoft.SharePoint.SPListCollection lists1 ,Microsoft.SharePoint.SPListTemplate microsoftSharePointS2 ,MAPILab.SharePoint.Explorer.CodeForm.MLCodeForm thisForm ,MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.MLBrowser browser ) { // Output browser configuration //browser.Text = "Browser window"; //browser.DisplayMode = MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.DisplayMode.Expanded; browser.ReturnValue = null; } }
Visual Basic Imports System Imports System.Collections.Generic Imports System.Diagnostics Imports System.Text Imports MAPILab.SharePoint.Explorer.CodeForm Imports MAPILab.SharePoint.Explorer.Utilities.ScriptRunner Public Class Tester Shared Sub Main(ByVal lists1 As Microsoft.SharePoint.SPListCollection, ByVal microsoftSharePointS2 As Microsoft.SharePoint.SPListTemplate, ByVal thisForm As MAPILab.SharePoint.Explorer.CodeForm.MLCodeForm, ByVal browser As MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.MLBrowser) ' Output browser configuration 'browser.Text = "Browser window" 'browser.DisplayMode = MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.DisplayMode.Expanded browser.ReturnValue = Nothing End Sub End Class
Модифицируем этот код таким образом, чтобы при его выполнении создавался новый список. Ссылка на только что созданный список будет возвращена методом main для дальнейшего исследования.
C# using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; using MAPILab.SharePoint.Explorer.CodeForm; using MAPILab.SharePoint.Explorer.Utilities.ScriptRunner; public class Tester { static void Main( Microsoft.SharePoint.SPListCollection lists1 ,Microsoft.SharePoint.SPListTemplate microsoftSharePointS2 ,MAPILab.SharePoint.Explorer.CodeForm.MLCodeForm thisForm ,MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.MLBrowser browser ) { System.Guid listId = lists1.Add("SampleList", "Sample description", microsoftSharePointS2); // Output browser configuration //browser.Text = "Browser window"; //browser.DisplayMode = MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.DisplayMode.Expanded; browser.ReturnValue = lists1[listId]; } }
Visual Basic Imports System Imports System.Collections.Generic Imports System.Diagnostics Imports System.Text Imports MAPILab.SharePoint.Explorer.CodeForm Imports MAPILab.SharePoint.Explorer.Utilities.ScriptRunner Public Class Tester Shared Sub Main(ByVal lists1 As Microsoft.SharePoint.SPListCollection, ByVal microsoftSharePointS2 As Microsoft.SharePoint.SPListTemplate, ByVal thisForm As MAPILab.SharePoint.Explorer.CodeForm.MLCodeForm, ByVal browser As MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.MLBrowser) Dim listId As System.Guid listId = lists1.Add("SampleList", "Sample description", microsoftSharePointS2) 'Output browser configuration 'browser.Text = "Browser window" 'browser.DisplayMode = MAPILab.SharePoint.Explorer.Utilities.ScriptRunner.DisplayMode.Expanded browser.ReturnValue =lists1(listId) End Sub End Class
В результате выполнения этого сценария будет открыто новое окно браузера с информацией о созданном списке: