Динамические столбцы на основе строк - PullRequest
1 голос
/ 28 октября 2010

То, что я делаю, может быть очень глупым, если да, пожалуйста, поправьте меня, но я пытаюсь сделать следующее:

Я хочу иметь список (например) со следующими элементами:

List Addresses

-Name
-Address
-City
-Country

Но, исходя из их страны, я хочу отобразить разные столбцы, которые я хочу записать в список. Например:

CountryColumns

(United States - SSN - Yes)
(United States - State - Yes)
(United States - Province - No)
(United Kingdom - SSN - No)
(United Kingdom - State - No)
(United Kingdom - Province - Yes)

И затем, когда пользователь выбирает Соединенные Штаты в списке стран, в следующий раз, когда пользователь редактирует свою информацию, будут показаны определенные столбцы. (Также возможно, что все будет показано, и что в следующий раз столбцы с Нет будут скрыты).

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

Кто-нибудь знает способ, как это сделать?

Привет,

Маты

Ответы [ 3 ]

2 голосов
/ 28 октября 2010

Вот три варианта:

  1. Пользовательские типы контента.Это, пожалуй, самый SharePoint-у способ сделать это.Вы можете создать тип контента для каждой страны, а затем контролировать, какие поля включены в этот тип контента.Очевидным недостатком этого является то, что вы можете в конечном итоге создать много типов контента, а также то, что выбор типа контента (особенно при создании нового элемента) - это не то же самое, что выбор из выпадающего списка..
  2. Javascript / jQuery.Либо изменив свою главную страницу, либо добавив веб-часть редактора контента в форму редактирования, вы можете использовать JavaScript, чтобы скрыть определенные поля на основе выбранного значения «Страна».
  3. Пользовательские поля.Это наиболее сложный процесс, но вместо того, чтобы поле SSN было обычным полем с одной строкой текста, вы можете создать настраиваемое поле, которое наследуется от SPFieldText , а затем управлять его видимостью рендеринга на основе выбранного значенияСтрана.
1 голос
/ 28 октября 2010

Есть четыре способа, которыми вы можете изменить SharePoint, чтобы сделать это, на ум.

  1. Иметь тип содержимого списка адресов, а затем отдельный тип содержимого для каждой страны, для которой требуются дополнительные поля. Используйте веб-часть для ввода данных в список, используя правильный тип контента страны.

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

  3. Используйте один тип супер контента, который включает в себя все поля, но с настраиваемыми страницами представления списка, чтобы фильтровать поля на основе значения округа.

  4. Используйте infopath с отдельными представлениями для каждой страны или разделом для каждого специального поля с условием скрыть его, если нужная страна не выбрана.

Лично я бы порекомендовал 4. Это самый простой и быстрый способ реализации.

0 голосов
/ 28 октября 2010

Вы не можете сделать это из коробки.

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