Изменение порядка номеров столбцов при удалении элемента в списке sharepoint - PullRequest
0 голосов
/ 01 ноября 2010

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

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

Если какой-либо элемент был удален, скажем, item [6th item] ["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;
            });
        }

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

1 Ответ

0 голосов
/ 01 ноября 2010

Попробуйте вызвать Update() для SPListItem, а не для SPList

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...