Поделиться через


Метод Lists.UpdateList

Обновляет список на основе определения указанного поля и свойства списка.

Пространство имен:  WebSvcLists
Сборка:  STSSOAP (в STSSOAP.dll)

Синтаксис

'Декларация
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/UpdateList", RequestNamespace := "https://schemas.microsoft.com/sharepoint/soap/",  _
    ResponseNamespace := "https://schemas.microsoft.com/sharepoint/soap/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function UpdateList ( _
    listName As String, _
    listProperties As XmlNode, _
    newFields As XmlNode, _
    updateFields As XmlNode, _
    deleteFields As XmlNode, _
    listVersion As String _
) As XmlNode
'Применение
Dim instance As Lists
Dim listName As String
Dim listProperties As XmlNode
Dim newFields As XmlNode
Dim updateFields As XmlNode
Dim deleteFields As XmlNode
Dim listVersion As String
Dim returnValue As XmlNode

returnValue = instance.UpdateList(listName, _
    listProperties, newFields, updateFields, _
    deleteFields, listVersion)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/UpdateList", RequestNamespace = "https://schemas.microsoft.com/sharepoint/soap/", 
    ResponseNamespace = "https://schemas.microsoft.com/sharepoint/soap/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public XmlNode UpdateList(
    string listName,
    XmlNode listProperties,
    XmlNode newFields,
    XmlNode updateFields,
    XmlNode deleteFields,
    string listVersion
)

Параметры

  • listName
    Тип: System.String

    Строка, содержащая GUID для списка.

  • listProperties
    Тип: System.Xml.XmlNode

    Фрагмент XML в следующем формате, который можно назначить объект System.Xml.XmlNode и, который содержит все свойства списка для обновления.

  • newFields
    Тип: System.Xml.XmlNode

    Фрагмент XML в следующем формате, который можно назначить объект System.Xml.XmlNode и, который содержит элементы Field внутри блоков метод, чтобы добавить операции можно отслеживать по отдельности.

  • updateFields
    Тип: System.Xml.XmlNode

    Фрагмент XML в следующем формате, который можно назначить объект System.Xml.XmlNode и, который содержит элементы Field внутри метода блоки, чтобы операции обновления можно отслеживать по отдельности.

  • deleteFields
    Тип: System.Xml.XmlNode

    Фрагмент XML в следующей форме, которая содержит элементы Field , указав имена полей для удаления внутри метода блоки, чтобы операции удаления можно отслеживать по отдельности.

  • listVersion
    Тип: System.String

    Строка, содержащая версию списка, который обновляется таким образом, можно выполнить обнаружение конфликтов.

Возвращаемое значение

Тип: System.Xml.XmlNode
Фрагмент XML, который содержит схему списка после применения изменений и блок результатов для каждого поля, который является новым, обновлении или удалении. Фрагмент кода находится в следующей форме и могут быть назначены объекту System.Xml.XmlNode .

<Results xmlns="https://schemas.microsoft.com/sharepoint/soap/">
   <NewFields>
      <Method ID="1">
         <ErrorCode>0x00000000</ErrorCode>
         <Field Type="DateTime" DateOnly="TRUE" 
            DisplayName="Field1_Display_Name" FromBaseType="TRUE" 
            Name="Field1_Name" ColName="datetime2" />
      </Method>
      <Method ID="2">
         <ErrorCode>0x00000000</ErrorCode>
         <Field Type="Text" DisplayName="Field2_Display_Name" 
            Required="TRUE" FromBaseType="TRUE" 
            Description="Description" Name="Field2_Name" 
            ColName="nvarchar4" />
      </Method>
   </NewFields>
   <UpdateFields>
      <Method ID="3">
         <ErrorCode>0x00000000</ErrorCode>
         <Field Type="Number" Name="NumberColumn" DisplayName="Numbers" 
            Required="TRUE" FromBaseType="TRUE" 
            Description="Description" ColName="float1" />
      </Method>
      <Method ID="4">
         <ErrorCode>0x00000000</ErrorCode>
         <Field Type="Text" Name="Title" DisplayName="Title" 
            Required="TRUE" FromBaseType="TRUE" 
            Description="Description" ColName="nvarchar1" />
      </Method>
   </UpdateFields>
   <DeleteFields>
      <Method ID="5">
         <ErrorCode>0x00000000</ErrorCode>
      </Method>
      <Method ID="6">
         <ErrorCode>0x00000000</ErrorCode>
      </Method>
   </DeleteFields>
   <ListProperties DocTemplateUrl="" 
      DefaultViewUrl="/Site_Name/Lists/List_Name/AllItems.aspx" 
      ID="{6800A6B5-5B01-4E7B-B847-7F0C01F1F602}" Title="List_Name" 
      Description="New_Description" 
      ImageUrl="/_layouts/images/itgen.gif" 
      Name="{6800A6B5-5B01-4E7B-B847-7F0C01F1F602}" BaseType="0" 
      ServerTemplate="100" 
      Created="20030619 05:35:34" Modified="20030619 05:39:43" 
      LastDeleted="20030619 05:35:34" 
      Version="11" Direction="none" ThumbnailSize="" WebImageWidth="" 
      WebImageHeight="" 
      Flags="4096" ItemCount="0" AnonymousPermMask="" 
      RootFolder="/Site_Name/Lists/List_Name" 
      ReadSecurity="1" WriteSecurity="1" Author="1" 
      EventSinkAssembly="" EventSinkClass="" 
      EventSinkData="" EmailInsertsFolder="" AllowDeletion="True" 
      AllowMultiResponses="False" 
      EnableAttachments="True" EnableModeration="False" 
      EnableVersioning="False" Hidden="False" 
      MultipleDataList="False" Ordered="False" ShowUser="True" />
</Results>

Примеры

В следующем примере кода показано изменение поля и свойства указанного списка на текущем сайте, показывающих, как реализовать каждого параметра метода UpdateList . В примере используется метод GetList для возврата версию списка и использует объект XmlDocument для создания объектов XmlNode для параметров.

В этом примере требуется директива Imports (Visual Basic) была включена в пространство имен System.Xml или using (Visual C#).

Dim listService As New Web_Reference_Folder.Lists()
listService.Credentials = System.Net.CredentialCache.DefaultCredentials

Dim ndList As XmlNode = listService.GetList("List_Name")
Dim ndVersion As XmlNode = ndList.Attributes("Version")

Dim xmlDoc = New System.Xml.XmlDocument()

Dim ndDeleteFields As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, 
   "Fields", "")
Dim ndProperties As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, 
   "List", "")
Dim ndTitleAttrib As XmlAttribute = 
   CType(xmlDoc.CreateNode(XmlNodeType.Attribute, "Title", ""), 
   XmlAttribute)
Dim ndDescriptionAttrib As XmlAttribute = 
   CType(xmlDoc.CreateNode(XmlNodeType.Attribute, "Description", ""), _
   XmlAttribute)
Dim ndNewFields As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, 
   "Fields", "")
Dim ndUpdateFields As XmlNode = xmlDoc.CreateNode(XmlNodeType.Element, 
   "Fields", "")

ndTitleAttrib.Value = "List_Name"
ndDescriptionAttrib.Value = "New_Description"

ndProperties.Attributes.Append(ndTitleAttrib)
ndProperties.Attributes.Append(ndDescriptionAttrib)

ndDeleteFields.InnerXml = "<Method ID='5'>
    <Field Name='Field1'/></Method>" + _
    "<Method ID='6'><Field Name='Field2'/></Method>"
ndNewFields.InnerXml = "<Method ID='1'>" + _ 
    "<Field Type='DateTime' DateOnly='TRUE' DisplayName='NewField1' 
        FromBaseType='TRUE'/>" + _
    "</Method><Method ID='2'>" + _
    "<Field Type='Text' DisplayName='NewField2' Required='TRUE' 
        FromBaseType='TRUE' Description='Description'/>" + _
    "</Method>"
ndUpdateFields.InnerXml = "<Method ID='3'>" + _
    "<Field Type='Number' Name='Field1' DisplayName='Field1_Display' 
        Required='TRUE' FromBaseType='TRUE' 
        Description='Description'/>" + "</Method><Method ID='4'>" + _
    "<Field Type='Text' Name='Field2' DisplayName='Field2_Display' 
        Required='TRUE' FromBaseType='TRUE' 
        Description='Description'/>" + _
    "</Method>"

Try

    Dim ndReturn As XmlNode = 
        listService.UpdateList("f2c47fbe-0fe1-4c84-8ed0-f56912f3dca7", 
        ndProperties, ndNewFields, _
        ndUpdateFields, ndDeleteFields, ndVersion.Value)

    MessageBox.Show(ndReturn.OuterXml)

    Catch ex As Exception

        MessageBox.Show("Message:" + ControlChars.Lf + ex.Message + 
            ControlChars.Lf + _
            "StackTrace:" + ControlChars.Lf + ex.StackTrace)

End Try
Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials= System.Net.CredentialCache.DefaultCredentials;

XmlNode ndList = listService.GetList("List_Name");
XmlNode ndVersion = ndList.Attributes["Version"];

XmlDocument xmlDoc = new System.Xml.XmlDocument();

XmlNode ndDeleteFields = xmlDoc.CreateNode(XmlNodeType.Element, 
    "Fields", "");
XmlNode ndProperties = xmlDoc.CreateNode(XmlNodeType.Element, "List", 
    "");
XmlAttribute ndTitleAttrib = 
    (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, 
    "Title", "");
XmlAttribute ndDescriptionAttrib = 
    (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, 
    "Description", "");
XmlNode ndNewFields = xmlDoc.CreateNode(XmlNodeType.Element, 
    "Fields", "");
XmlNode ndUpdateFields = xmlDoc.CreateNode(XmlNodeType.Element, 
    "Fields", "");

ndTitleAttrib.Value = "List_Name";
ndDescriptionAttrib.Value = "New_Description";

ndProperties.Attributes.Append(ndTitleAttrib);
ndProperties.Attributes.Append(ndDescriptionAttrib);

ndDeleteFields.InnerXml="<Method ID='5'>" + 
   "<Field Name='Field1'/></Method>" + 
   "<Method ID='6'><Field Name='Field2'/>" + 
   "</Method>";

ndNewFields.InnerXml = "<Method ID='1'>" +
   "<Field Type='DateTime' DateOnly='TRUE' DisplayName='NewField1' 
        FromBaseType='TRUE'/>" + 
   "</Method><Method ID='2'>" +
   "<Field Type='Text' DisplayName='NewField2' Required='TRUE' 
      FromBaseType='TRUE' Description='Description'/>" +
   "</Method>";

ndUpdateFields.InnerXml = "<Method ID='3'>" +
   "<Field Type='Number' Name='Field1' DisplayName='Field1_Display' 
      Required='TRUE' FromBaseType='TRUE' 
      Description='Description'/>" +
   "</Method><Method ID='4'>" +
   "<Field Type='Text' Name='Field2' DisplayName='Field2_Display' 
      Required='TRUE' FromBaseType='TRUE' 
      Description='Description'/>" +
   "</Method>";

try
{
   XmlNode ndReturn = 
      listService.UpdateList("f2c47fbe-0fe1-4c84-8ed0-f56912f3dca7", 
      ndProperties, ndNewFields, ndUpdateFields, ndDeleteFields, 
      ndVersion.Value);

   MessageBox.Show(ndReturn.OuterXml);
}

catch (Exception ex)
{
   MessageBox.Show("Message:\n" + ex.Message + "\nStackTrace:\n" + 
      ex.StackTrace);
}

См. также

Справочные материалы

Lists класс

Элементы Lists

Пространство имен WebSvcLists