none
Можно ли как то управлять видимостью отдельных записей в настраиваемом списке? RRS feed

  • Вопрос

  • Здравствуйте.

    Сначала хотел применить фильтр с условием: поле "Руководители" содержит [Я] но шарик такие фокусы делать не позволяет.

    Смысл в том, что для вошедшего на сайт, список должен показывать только те элементы, куда вписан он сам (в поле "Руководители"), и скрывать всё остальное.

    Можно ли такое провернуть с CSR? На сколько я знаю, им рулится не сам факт отображения элемента в списке а только отрисовки отдельных полей? Если я, например, буду читать текущего пользователя и сопоставлять его с содержимым поля "Руководители" и поняв, что вошедший отсутствует в Руководителях - не рисовать поле. Не будет ли список содержать кучу пустых но отображаемых записей?


    • Изменено VARD32 26 мая 2021 г. 5:19

Все ответы

  • Здравствуйте,

    Посмотрите метод описанный в данной статье, возможно вам подойдет:


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    Модератор
  • SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function () {
    
        SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
    	
            OnPostRender: function (ctx) {			
    	 var userName = $().SPServices.SPGetCurrentUser({
    				fieldName: "Title",
    				debug: false
    	 });
    						
                var rows = ctx.ListData.Row;						
                for (var i = 0; i < rows.length; i++) {
    				
    		var managers = rows[i]["managers"];				
                    var rowId = GenerateIIDForListItem(ctx, rows[i]);
                    var row = document.getElementById(rowId);
    				
    		if (managers.indexOf(userName) < 0) {
    		    row.style.display = 'none';
    		}								
                }
            }
        });
    });
    Сделал так, но это из серии "фантиков" и "бантиков". Реальные права при желании всё равно можно получить.

  • Здравствуйте.

    Сначала хотел применить фильтр с условием: поле "Руководители" содержит [Я] но шарик такие фокусы делать не позволяет.


    Добрый день
    а разве стандартное поле Пользователь или группа не позволяет фильтровать по текущему пользователю?

    мой блог не много о SharePoint

    13 июня 2021 г. 19:57
    Модератор