Программно меняющиеся значения списков Sharepoint 2007 - PullRequest
1 голос
/ 09 мая 2011

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

Любая помощь очень ценится!

1 Ответ

1 голос
/ 09 мая 2011

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

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

Вот API для обновления списка SharePoint:
http://spservices.codeplex.com/wikipage?title=UpdateListItems&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>");
    }
});
...