none
SharePoint 2016 работа со списками. RRS feed

  • Вопрос

  • День Добрый.

    Подскажите пожалуйста как на основе выбора лукап поля скрывать или не скрывать столбцы?

    У меня есть список.

    далее столбцы списка

    Уч. зап.  ( в этом столбце действует лукап поля: Значение 1, Значение 2, Значение 3)

    Имя (текст)

    Фамилия(текст)

    Задание 1 (текст)

    Задание 2 (текст)

    Задание 3 (текст)

    Как сделать, что бы при выборе в столбце Уч. зап.  лукап Значение 1, отображались поля :

    Имя (текст)

    Фамилия(текст)

    Задание 1 (текст)

     что бы при выборе в столбце Уч. зап.  лукап Значение 2, отображались поля :

    Имя (текст)

    Фамилия(текст)

    Задание 2 (текст)

    что бы при выборе в столбце Уч. зап.  лукап Значение 3, отображались поля :

    Имя (текст)

    Фамилия(текст)

    Задание 3 (текст)

    11 февраля 2019 г. 13:28

Ответы

Все ответы

  • 11 февраля 2019 г. 14:26
  • Добрый! Я незнаю Ваших задач...но вы уверены что вам нужны лукап поля?....решение выглядит странновато(но опять же не берусь утверждать...)



    12 февраля 2019 г. 0:55
  • Добрый день

    посмотрите 

    Работа с полями элемента с помощью jQuery (jQuery + SharePoint 2013 Fields Part 3)


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

    Это немного не то, нужно на основе выбранного лукап поля, появлялись или скрывались нужные столбцы.

    ниже пример со скриншотами.

    13 февраля 2019 г. 6:18
  • Добрый день

    посмотрите 

    Работа с полями элемента с помощью jQuery (jQuery + SharePoint 2013 Fields Part 3)


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

    Это немного не то, нужно на основе выбранного лукап поля, появлялись или скрывались нужные столбцы.

    ниже пример со скриншотами.

    нет...это именно то что вы спрашивали...в статье у Владимира есть пример сокрытия полей по чекбоксу (в вашем случае это лукап поле).

    А то что вы хотите еще не описали. просто скинули изображения...я конечно в ребусах более менее понимаю... но мы же не ребусы тут отгадываем) 

    Опишите подробно ...сами.

    от меня лишь пару вопросов..

    1)вам нужно чтобы переходило в новое окно? 

    2) каким образом вам нужно скрывать?

    3)что за поле условие(это тоже самое что задание)?

    4) что вообще за фул-л ... какие проблемы он решает? 


     

    13 февраля 2019 г. 13:03
  • 1) нет.

    2) любым способом, главное что бы скрывало то что нужно.

    3) и 4)

    Попробую описать еще раз, что бы было понятно.

    Значит есть список с 30-40 столбцами, Этот список заполняется когда приходит новый сотрудник в компанию.

    и Мне нужно, что бы  при выборе из лукап столбца, в это столбце поля -

    Тип уч. зап. (сам столбец  ниже в нем лукап поля)

                                                 Штатный сотрудник

                                                 Внешний сотрудник

                                                 Обличенная учетка

    Задача, при заполнении формы, первым пунктом Тип уч. зап.  выбрать 

    Штатный сотрудник

    Внешний сотрудник

    Обличенная учетка

    и если  выбирают "Штатный сотрудник"  показывают одни поля.

    "Внешний сотрудник" показывают другие поля

    "Обличенная учетка" показывает другие поля.

    Как это сделать что то не допру..

    27 февраля 2019 г. 7:01
  • если полей много, то придется много писать.

    как это мне видится:

    1. сразу при загрузке формы скрываем все поля кроме Тип уч. записи (или все которые нужно скрывать по условиям)

    2. добавляете код который будет отслеживать имения в поле Тип уч. зап.

    3. добавляем функции которые скрывают/показывают определённые поля

    _spBodyOnLoadFunctionNames.push("changeField");
     
    function toggleField1(prop){
    	$("[id^='id поля']").closest("tr").css("display",prop)
    	// тут перечень полей с которыми нужно работать
    }	 
    function toggleField2(prop){
    	$("[id^='id поля']").closest("tr").css("display",prop)
    	// тут перечень полей с которыми нужно работать 
    }	
    function changeField()
    {
    	$("[id^='id поля']").change(function () {
    		switch($("[id^='id поля']").val()):
    			case 1:
    				toggleField1("none") // скрываем
    				toggleField2("") // показываем
    				break;
    			case 2 :
    				toggleField1("") // показываем
    				toggleField2("none")// скрываем
    				break;
    			case 3 :
    				break;
    		default :
    			
    	});
    }


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

    • Предложено в качестве ответа Dedman2k3 5 марта 2019 г. 11:26
    27 февраля 2019 г. 9:30
  • если полей много, то придется много писать.

    как это мне видится:

    1. сразу при загрузке формы скрываем все поля кроме Тип уч. записи (или все которые нужно скрывать по условиям)

    2. добавляете код который будет отслеживать имения в поле Тип уч. зап.

    3. добавляем функции которые скрывают/показывают определённые поля

    _spBodyOnLoadFunctionNames.push("changeField");
     
    function toggleField1(prop){
    	$("[id^='id поля']").closest("tr").css("display",prop)
    	// тут перечень полей с которыми нужно работать
    }	 
    function toggleField2(prop){
    	$("[id^='id поля']").closest("tr").css("display",prop)
    	// тут перечень полей с которыми нужно работать 
    }	
    function changeField()
    {
    	$("[id^='id поля']").change(function () {
    		switch($("[id^='id поля']").val()):
    			case 1:
    				toggleField1("none") // скрываем
    				toggleField2("") // показываем
    				break;
    			case 2 :
    				toggleField1("") // показываем
    				toggleField2("none")// скрываем
    				break;
    			case 3 :
    				break;
    		default :
    			
    	});
    }


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

    Владимир Спасибо большое за ценные подсказки. 

    Но не могли бы вы по подробнее расписать,  эти 3 пункта как их выполнить, ну или хотябы ссылками покидать где описание  похожих действий как это делать. Я пока, что только ферму Sp2016 из 5-6 сервров научился разворачивать. А вот гайда как дельно использовать списки, не особо получается найти..

    28 февраля 2019 г. 18:26
  • все описано в примере.

    нужно в функции добавить свои поля и вперед.

    нужно посмотреть какие id у справочника Типы учетной записи (если это лукап)

    для ваших вариантов, как понимаю 3, нужно все поля карточки разбить на группы и показывать/скрывать в зависимости от выбранного значения.

    мне видится три функции toggleField в которых будут поля для каждого случая


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

    1 марта 2019 г. 10:42
  • К чему все эти извращения со скриптами. Создаете на сайте поля которые будут содержать все типы сотрудников к примеру поле1, поле2, поле3, Поле4. Далее создаете типы контента Штатный сотрудник, Нештатный сотрудник ... и тд. Назначаете каждому типу свои поля:

    Штатный сотрудник: (Поле1, Поле2)

    Нештатный сотрудник (Поле1, Поле4) и тд.

    В настройках списка или библиотеки ставите - разрешить управление типами контента, и добавляете ваших Штатный сотрудник, Нештатный сотрудник, Назначаете одного из них типом по умолчанию, стандартный тип элемент (список) или документ (библиотека) удаляетте. Все.

    Теперь при добавлении нового элемента у вас будет поле с названием тип контента и значениями Штатный сотрудник, Нештатный сотрудник в зависимости от значения которого будут отображаться поля только этого контента. 

    И никаких скриптов и прочих извращений.

    Если надо чтобы пользователь-олень не пугался загадочного понятия Тип контента, отредактируйте форму редактирования и просмотра по умолчанию и заменте текст метки тип контента на например "Тип сотрудника"
    11 марта 2019 г. 18:13
  • К чему все эти извращения со скриптами. Создаете на сайте поля которые будут содержать все типы сотрудников к примеру поле1, поле2, поле3, Поле4. Далее создаете типы контента Штатный сотрудник, Нештатный сотрудник ... и тд. Назначаете каждому типу свои поля:

    Штатный сотрудник: (Поле1, Поле2)

    Нештатный сотрудник (Поле1, Поле4) и тд.

    В настройках списка или библиотеки ставите - разрешить управление типами контента, и добавляете ваших Штатный сотрудник, Нештатный сотрудник, Назначаете одного из них типом по умолчанию, стандартный тип элемент (список) или документ (библиотека) удаляетте. Все.

    Теперь при добавлении нового элемента у вас будет поле с названием тип контента и значениями Штатный сотрудник, Нештатный сотрудник в зависимости от значения которого будут отображаться поля только этого контента. 

    И никаких скриптов и прочих извращений.

    Если надо чтобы пользователь-олень не пугался загадочного понятия Тип контента, отредактируйте форму редактирования и просмотра по умолчанию и заменте текст метки тип контента на например "Тип сотрудника"

    Можно по подробнее. Я что то запутался.

    Значит создаю настраиваемый список, добавляю столбцы  

    Поле 1 Поле2 Поле3 Поле4 Поле5 Поле6

     Далее Создаю типы Контента.

    Параметры сайта\ Коллекции веб-дизайнера\Типы контента сайта\Создать

    Создаю тип контента Внешний сотрудник

    аналогично создаю Внештатный сотрудник и Обезличенная учетная запись.

    Теперь перехожу в свой созданный настраиваемый список.

    в левому углу - список\параметры списка\Добавить из существующих типов контента сайта\

    В выборе типа контента, моей группы "My Group" нету и типов контента - Внештатный сотрудник, Обезличенная учетная запись, Штатный сотрудник  тоже нету.

    как созданные типы контента добавить в параметры моего настраиваемого списка? 

    Открыть меню фильтров и сортировки для Поле6

    • Изменено PiligrimKa 12 марта 2019 г. 11:26
    12 марта 2019 г. 11:24