Поля и ссылки на поля
Дата последнего изменения: 21 июля 2010 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Столбцы — это поля или ссылки на поля
Добавление столбцов к спискам
Создание ссылок на столбцы в типах контента
В этом разделе рассматривается разница между полями и ссылками на поля.
Столбцы — это поля или ссылки на поля
В различных схемах SharePoint Foundation, таких как сайты, списки и определения типов контента, столбцы представлены как элементы Field или Элемент FieldRef (ContentType).
В определениях списков и сайтов столбцы сайтов и списков представлены как элементы Field. Однако в определениях типов контента ссылки на столбцы сайтов и списков представлены как элементы FieldRef. Аналогично этому, в объектной модели столбцы сайтов и списков, содержащиеся на сайтах и в списках, представлены как объекты SPField, а ссылки на столбцы сайтов и списков в типах контента представлены как объекты SPFieldLink.
Элемент Field содержит полное определение столбца сайта или списка.
Элемент FieldRef является ссылкой на столбец, определенный в другом месте — на уровне сайта или списка. В ссылке на поле можно переопределить подмножество свойств столбца, включая:
отображаемое имя;
XML-атрибуты повышения и понижения;
указание, является ли поле дополнительным, обязательным или скрытым.
При изменении этих свойств в ссылке на поле, они действуют только в отношении конкретных типов контента, в которых присутствуют ссылки на данное поле.
Добавление столбцов к спискам
Столбцы сайтов можно рассматривать как шаблоны; столбцы сайтов создаются на уровне сайта и применяются к спискам и дочерним сайтам по необходимости.
Дополнительные сведения о столбцах сайтов см. в разделе Введение в столбцы.
При добавлении столбца сайта в список в списке создается локальная копия определения столбца в виде столбца. Таким образом, столбец списка в схеме списка представляется элементом Field. В объектной модели он представляется объектом SPField.
Кроме того, при добавлении в список столбца сайта полученный столбец имеет тот же идентификатор поля, что и столбец сайта. SharePoint Foundation использует этот идентификатор для отслеживания того, какие столбцы являются "дочерними" по отношению к данному столбцу сайта. Это дает возможность вносить изменения в столбец сайта и распространять изменения на все столбцы, являющиеся дочерними по отношению к столбцу сайта.
Дополнительные сведения см. в разделе Обновление столбцов сайта.
На уровне списка также можно создавать столбцы. Эти столбцы применяются только к списку, в котором они созданы. Можно добавлять столбцы списка к типам контента списка. Столбцы списка также представлены в схеме списка в виде элементов Field, а в объектной модели — в виде объектов SPField. Поскольку они не являются производными от другого столбца, они не имеют с какими-либо столбцами отношений "родительский-дочерний".
Создание ссылок на столбцы в типах контента
При необходимости отслеживания метаданных определенных элементов в типе контента можно создать ссылки на столбцы, представляющие такие метаданные. Однако нельзя создать столбец в типе контента; необходимо создать столбец, а затем ссылку на него в определении типа контента. В результате после добавления столбца в тип контента схема типа контента не будет содержать элемент Field; она будет содержать элемент FieldRef. Это справедливо как для столбцов сайтов, так и для столбцов списков, добавляемых к типам контента.
Ссылка на поле сохраняет тот же идентификатор поля, что и ссылающийся на него столбец.
При создании типа контента на основе родительского типа контента по умолчанию все столбцы, на которые имеются ссылки в родительском типе, представляются в дочернем типе контента как элементы FieldRef.
При добавлении типа контента в список столбцы, на которые существуют ссылки в этом типе контента, копируются в локальный список в виде столбцов. Столбцы, на которые ссылаются различные элементы FieldRef в схеме типа контента, копируются в схему списка как элементы Field — снова с привязкой "родительский-дочерний" по отношению к столбцу сайта.
При создании ссылки на столбец списка в типе контента списка она добавляется как элемент FieldRef в схему типа контента списка.
Таким образом, в схемах сайтов и списков столбцы всегда представлены элементами Field, а в схемах типов контента — всегда элементами FieldRef.
В объектной модели Windows SharePoint Services 3.0 ссылки на поля в типах контента представлены объектами SPFieldLink.
Следующий рисунок иллюстрирует эту зависимость. Допустим, в типе контента имеется ссылка на столбец Author сайта. В схеме типа контента ссылка на столбец представлена элементом FieldRef. При добавлении типа контента в список SharePoint Foundation добавляет столбец Author как элемент Field. Оба элемента имеют тот же идентификатор поля, что и столбец Author сайта. При создании в типе контента ссылки на столбец списка ItemNoSharePoint Foundation добавляет его как элемент FieldRef с тем же идентификатором поля.
См. также
Задачи
Практическое руководство: ссылка на столбец в типе контента