Запрос Caml не работает для создания представления sharepoint

Я создаю представление списка Sharepoint, используя код C # CSOM. Я использую ViewCreationInformation для создания своего представления. У меня проблема с написанием запроса.

Написание этого произведения:

            ViewCollection viewColl = list.Views;
            string[] viewFields = {"Id", "Action", "Created", "Created By"};
            ViewCreationInformation creationInfo = new ViewCreationInformation();
            creationInfo.Title = "FromCode";
            creationInfo.ViewFields = viewFields;
            creationInfo.Query = @"<Where><Neq><FieldRef Name=""ConfidentialDocument""/><Value Type=""Choice"">No</Value></Neq></Where><GroupBy><FieldRef Name=""TemplateName"" /><FieldRef Name=""Title"" /></GroupBy><OrderBy><FieldRef Name=""Created"" Ascending=""True"" /></OrderBy>";
            creationInfo.ViewTypeKind = ViewType.Html;
            creationInfo.RowLimit = 30;
            creationInfo.Paged = true;
            creationInfo.SetAsDefaultView = true;
            viewColl.Add(creationInfo);

Но если я изменю запрос на это:

            creationInfo.Query = @"<Where><Neq><FieldRef Name=""ConfidentialDocument""/><Value Type=""Choice"">No</Value></Neq></Where><GroupBy Collapse=""TRUE"" GroupLimit=""30""><FieldRef Name=""TemplateName"" /><FieldRef Name=""Title"" /></GroupBy><OrderBy><FieldRef Name=""Created"" Ascending=""True"" /></OrderBy>";

Затем в представлении отображается ошибка: TypeError: невозможно получить свойство 'substring' неопределенной или нулевой ссылки < / а>

Вы можете проверить ссылку или вот ошибка: TypeError: невозможно получить свойство «подстрока» неопределенной или нулевой ссылки

  TypeError: Unable to get property 'substring' of undefined or null referenceTypeError: Unable to get property '_events' of undefined or null reference 

Кто-нибудь знает об этом? Я искал много мест и везде находил похожие коды. Я не знаю, почему этот код не работает.


person Griph    schedule 03.11.2017    source источник
comment
Я должен вам сказать, что у меня нет доступа к Microsoft.SharePoint.dll. Я использую Microsoft.Sharepoint.client.dll (точнее, все клиентские dll).   -  person Griph    schedule 03.11.2017


Ответы (1)


Хорошо, проблема была в GroupLimit = "" 30 "". Запрос без GroupLimit работает нормально.

        creationInfo.Query = @"<Where><Neq><FieldRef Name=""ConfidentialDocument""/><Value Type=""Choice"">No</Value></Neq></Where><GroupBy Collapse=""TRUE""><FieldRef Name=""TemplateName"" /><FieldRef Name=""Title"" /></GroupBy><OrderBy><FieldRef Name=""Created"" Ascending=""True"" /></OrderBy>";
person Griph    schedule 19.01.2018