Программное изменение значений списков Sharepoint 2007

#javascript #jquery #list #sharepoint-2007

#javascript #jquery #Список #sharepoint-2007

Вопрос:

У меня есть поле ID в одном из моих списков, которое может измениться и нуждается в обновлении в элементах списка в различных списках. Мне нужно знать, возможно ли это. Я знаю, что мог бы выполнить это с помощью C # и Sharepoint Services, но мне необходимо сделать это с помощью javascript. В принципе, у меня есть 5 списков, и при изменении значения идентификатора клиента в одном из этих списков и нажатии «ОК» мне нужно выполнить итерацию по другим 4 спискам и изменить это значение для любых элементов, которые могут существовать в этих списках с этим идентификатором клиента.

Мы высоко ценим любую помощь!

Ответ №1:

Я работаю в государственной организации, и у нас есть крупномасштабная ферма SharePoint 2007. Мы используем библиотеки jQuery и SPServices для выполнения AJAX-вызовов к различным спискам SharePoint.

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

Вот API для обновления списка SharePoint:
http://spservices.codeplex.com/wikipage?title=UpdateListItemsamp;referringTitle=Lists

Вот пример кода:

Параметры

 batchCmd: "Update",
valuepairs: 
    [["Title", "New Title Value"], 
    ["Body", "Here is a the new text for the body column."]], ID: 1234,
  

XML

 <Batch OnError='Continue'>
  <Method ID='1' Cmd='Update'>
    <Field Name='Title'>New Title Value</Field>
    <Field Name='Body'>Here is a the new text for the body column.</Field>
    <Field Name='ID'>1234</Field>
  </Method>
</Batch>
  

JS

 $(divId).html(waitMessage).SPServices({
    operation: "UpdateListItems",
    listName: testList,
    ID: ID,
    valuepairs: [["Title", now]],
    completefunc: function (xData, Status) {
        var out = $().SPServices.SPDebugXMLHttpResult({
            node: xData.responseXML,
            outputId: divId
        });
        $(divId).html("").append("<b>This is the output from the UpdateListItems operation:</b>"   out);
        $(divId).append("<b>Refresh to see the change in the list above.</b>");
    }
});