Классы настраиваемых полей с множеством столбцов
Дата последнего изменения: 3 апреля 2010 г.
Применимо к: SharePoint Foundation 2010
SharePoint Foundation содержит класс SPFieldMultiColumn, эмулирующий поле, содержащее несколько значений. В действительности класс содержит одно строчное значение, в котором значения различных "столбцов" разделены определенным разделяющим символом. Класс содержит члены, позволяющие манипулировать классом так, как если бы он содержал несколько столбцов, например, задавая число "столбцов" и задавая или получая значения отдельных "столбцов".
Доступ к значениям данных для объектов SPFieldMultiColumn
Класс SPFieldMultiColumn содержит класс SPFieldMultiColumnValue, представляющий действительные значения "столбцов" в объекте SPFieldMultiColumn. Класс SPFieldMultiColumnValue включает индекс, который разработчик должен использовать для доступа к значению конкретного "столбца" вместо прямого анализа результатов метода ToString().
Конструкторы класса SPFieldMultiColumnValue
Класс SPFieldMultiColumnValue включает три метода конструктора. Разработчик может самостоятельно выбрать, какой из них использовать, основываясь на следующем поведении.
SPFieldMultiColumnValue() создает новый объект SPFieldMultiColumnValue без заданного количества "столбцов". Затем разработчик может воспользоваться методом Add(String) для добавления необходимого объекту количества "столбцов" данных.
SPFieldMultiColumnValue(Int32) создает новый объект SPFieldMultiColumnValue с заданным количество "столбцов". Затем с помощью свойства Item можно получить и задать значение конкретного "столбца".
SPFieldMultiColumnValue(String) создает объект SPFieldMultiColumnValue, используя переданный строковый аргумент для определения количества "столбцов" и значений в каждом из них. Строковый аргумент должен начинаться и заканчиваться разделяющими символами ";#", эти же символы разделяют и поля.
Например, допустим, этот конструктор вызван с передачей следующей строки:
";#column one value;#column two value;#column three value;#"
Конструктор создает новый объект SPFieldMultiColumnValue с тремя "столбцами". Первый содержит "column one value", второй — "column two value", а третий — "column three value".
Затем можно воспользоваться свойством Item, чтобы получить и задать значение конкретного "столбца".
Этот конструктор полезен при считывании строк из базы данных или иного источника данных, где значения столбцов хранятся уже с разделяющими символами.
Запись значений из класса SPFieldMultiColumnValue
По логике, последний конструктор SPFieldMultiColumnValue выполняет противоположную методу ToString() функцию. Метод ToString() создает строку с разделителями для "столбцов" из объекта SPFieldMultiColumnValue. Этот метод полезен при записи значений "столбцов" в базу данных или иной источник данных, в котором значения "столбцов" хранятся в виде строк с разделяющими символами.