2010-11-01 2 views
0

У меня есть список «Числа». Элементы в этом списке от 1 до 10 (столбец, отличный от ID, отобразит это число).Повторно заказать номера столбцов, когда элемент удален в списке sharepoint

item[1st item]["order"]=1;item[2nd item]["order"]=2;......item[10th item]["order"]=10; 

Если какой-либо предмет удален, скажем, пункт [6-й пункт] ["order"] = 6; были удалены, тогда элементы в этом списке должны быть от 1 до 9, то есть когда элемент будет удален, автоматически придется заказывать эти значения. Здесь я использую ItemDeleted Event Handler для достижения этой функциональности. Но это не работает. Мой код:

public override void ItemDeleted (SPItemEventProperties properties) 
     { 
      SPSecurity.RunWithElevatedPrivileges(delegate() 
      { 
       string mysiteUrl = properties.WebUrl; 
       SPSite mysite = new SPSite(mysiteUrl); 
       SPWeb myweb = mysite.OpenWeb(); 
       myweb.AllowUnsafeUpdates = true; 
       SPList mylist = myweb.Lists["Numbers"]; 
       for (int i = 0; i < mylist.ItemCount; i++) 
       { 
        int order = int.Parse(mylist.Items[i]["order"].ToString()); 
        if (!(i + 1 == order)) 
        { 
         int categoryId = int.Parse(mylist.Items[i]["ID"].ToString()); 
         SPListItem item = mylist.GetItemById(categoryId); 
         item["Priority"] = i + 1; 
         mylist.Update(); 
        } 
       } 
       myweb.AllowUnsafeUpdates = false; 
      }); 
     } 

Я установил и активировал функцию. Но это не работает. Я не знаю, что происходит неправильно here.Please помочь мне в этом вопросе

+0

Что вы имеете в виду пункты [я] [ «ID»] ???? – Shoban

+0

Я получаю идентификатор элемента, который нарушает условие if – Abhimanyu

+0

@Shoban, есть ли какой-либо другой метод или подход для переупорядочения списка – Abhimanyu

ответ

Смежные вопросы