Welcome to TechNet Blogs Sign in | Join | Help

Разделители, использующиеся для хранения данных в некоторых типах полей

В SharePoint есть поля (fields) имеющие нетривиальный формат хранения данных. Формат данных таких полей с примерами приведен в таблице ниже

Тип

Разделитель

Пример

Choices (чек боксы, списки, радио кнопки, списки с множественным выбором)

;#

;#Первый вариант;#Второй вариант;#Третий вариант;#

Lookup

;#

1;#Первый вариант

Person or Group

;#

42;#Вася Тазиков

Hyperlink or Picture

,

http://microsoft.com, Microsoft

Published Thursday, June 28, 2007 2:31 AM by tvsmetanina

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Разделители, использующиеся для хранения данных в некоторых типах полей

"не тривиальный" - правильнее вместе

Friday, July 06, 2007 3:06 AM by Eugene

# re: Разделители, использующиеся для хранения данных в некоторых типах полей

Можно было и примеры когда с regex-ами с оригинального блога привести :)

Monday, July 23, 2007 6:37 AM by Sergey Shapovalov

# re: Разделители, использующиеся для хранения данных в некоторых типах полей

Не совсем понятно, что значит "хранение данных"...

По примерам видно, могут подразумеваться значения полей списка в контексте объектной модели .Net (SPField и его наследников). Тогда говорить о формате хранения смысла нет, т.к. можно, не вдаваясь в подробности, получить готовый объект без использования Regex и хард-кода (на примере поля Person or Group; cам где-то содрал, но есть и в SDK):

               string userStr = (string)CurrentItem[fieldDisplayName];

               SPFieldUser requestedByField = (SPFieldUser)CurrentItem.Fields[fieldDisplayName];

               SPFieldUserValue userValue = (SPFieldUserValue)requestedByField.GetFieldValue(userStr);

               return userValue.User;

Можно организовать свой метод "хранения" (спасибо Сергею Шаповалову за подробный пример) полей, и при этом разделители могут быть другими (любыми удобными), так что привязываться к вышеуказанным разделителям, ИМХО, не стоит.

Если рассматривать хранение в базе данных, то то же поле Person or Group хранится как обычное целое число.

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

Wednesday, August 08, 2007 4:26 AM by Alex Reva

# re: Разделители, использующиеся для хранения данных в некоторых типах полей

А когда я, допустим, устанавливаю возможность хранения нескольких значений в одном поле, чем они разделяются?

Tuesday, March 24, 2009 4:50 AM by Aviw

# re: Разделители, использующиеся для хранения данных в некоторых типах полей

Нашёл! Несколько значений одного поля разделяются ";#".

Надеюсь кому-то пригодится

Tuesday, March 24, 2009 5:10 AM by Aviw

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker