Sharepoint: пытается получить самый высокий ows_ID, включая удаленные элементы - PullRequest
0 голосов
/ 08 декабря 2011

Я использую веб-службу SharePoint и пытаюсь вернуть самый высокий номер идентификатора из списка.Мой сценарий, как, скажем, у меня есть 10 пунктов в списке.Наибольшее значение ows_ID на данный момент равно 10. Теперь, если я удаляю элемент и проверяю максимальное значение ows_ID, я получаю 9, однако самый высокий ows_ID равен 10, включая удаление.

Если новый элемент вставляется, он получает ows_ID как 11 вместо 10. Таким же образом, возможно ли получить самый высокий ows_ID, даже если элемент удален?

Ответы [ 2 ]

0 голосов
/ 09 декабря 2011

Попробуйте "rowLimit", настройте свой CAML для выполнения своих задач и получите только первый элемент в критериях поиска:

                string rowLimit = "1";
                System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
                System.Xml.XmlElement query = xmlDoc.CreateElement("Query");
                System.Xml.XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
                System.Xml.XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");
                query.InnerXml = "<Where><Eq><FieldRef Name=\"FileLeafRef\"/><Value Type=\"" + fieldType + "\">" + fieldValue + "</Value></Eq></Where> ";
                viewFields.InnerXml = "<FieldRef Name=\""+fieldToGet+"\" />";
                queryOptions.InnerXml = "";
                System.Xml.XmlNode nodes = myservice.GetListItems(listGuid, viewGuid, query, viewFields, rowLimit, null, null);

В моем примере ниже я просто получаю последний созданный элемент, используя некоторыекритерии, но так как Вам это не нужно, просто исправьте caml в моем коде.

0 голосов
/ 08 декабря 2011

Вы можете вызвать GetList, чтобы увидеть самый высокий использованный идентификатор.Этот метод возвращает информацию о самом списке, а не об элементах в нем.

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