Обновите элемент списка Sharepoint

^(a|b)@(foo|bar|baz)$

, если Вы имеете, это сильно определило список. Запуск и конечный символ будут только искать те три строки.

8
задан AnonJr 22 October 2009 в 04:46
поделиться

4 ответа

Если вы пытаетесь изменить значения для только что вставленного элемента списка, вы должны использовать:

SPList list = web.Lists["ListName"];
//SPListItem item = list.Items.Add();
//item["PercentComplete"] = .45; // 45%
//item.Update();

SPListItemCollection items = list.GetItems(new SPQuery()
{
    Query = @"<Where>
                <Eq>
                   <FieldRef Name='Title' />
                   <Value Type='Text'>Desigining</Value>
                </Eq>
              </Where>"
});

foreach (SPListItem item in items)
{
    item["PercentComplete"] = .45; // 45%
    item.Update();
}

Вам просто нужно использовать list.Items [uniqueId] или быстрее list.GetItemByUniqueId (uniqueId) , если вам нужно найти конкретный элемент для обновления; чего можно достичь с помощью класса SPQuery .

10
ответ дан 5 December 2019 в 11:25
поделиться

Ответ Рубена был правильным, но было несколько ошибок (возможно, это было только для меня), поэтому я немного поправил, и тогда он работал нормально. Ниже приведен код, который я использовал, если он кому-то нужен

 SPList list = web.Lists["ListName"];
                    //SPListItem item = list.Items.Add();
                    //item["PercentComplete"] = .45; 
                    // 45%//item.Update();
                   SPQuery oQuery = new SPQuery();

                        oQuery.Query = @"<Where>               
                                    <Eq>                   
                                        <FieldRef Name='Title' />                   
                                        <Value Type='Text'>Design</Value>              
                                    </Eq>            
                                  </Where>";
                        SPListItemCollection collListItems = list.GetItems(oQuery);
                        foreach (SPListItem item in collListItems)
                    {    item["PercentComplete"] = .55;   
                        item.Update();}
4
ответ дан 5 December 2019 в 11:25
поделиться

Попробуйте вызвать Update () в списке, прежде чем получить UniqueID

 SPList list = web.Lists["ListName"]; // 2        
 SPListItem item = list.Items.Add();
 item["Title"] = "Test";
 item.Update ();
 list.Update ();
 Guid itemId = item.UniqueId;
1
ответ дан 5 December 2019 в 11:25
поделиться

My best quess is that your item is not yet created in the list when you do:

Guid itemId = item.UniqueId;
SPListItem itemUpdate = web.Lists["ListName"].Items[itemId];

First do a item.Update() before requesting the uniqueId and/or getting the item back from a list.

PS : I see no reason why you should get a second SPItem object for updating the 'PercentComplete' information.

0
ответ дан 5 December 2019 в 11:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: