вторник, 6 июля 2010 г.

SharePoint 2007: LookUp site collumn

Сегодня сделал для себя небольшое открытие связанное с SharePoint 2007. Всем, думаю, известно что LookUp поля в SharePoint листах могут указывать лишь на листы находящиеся на том же уровне (на том же сайте). Оказывается из этого правила есть исключения. На сайте верхнего уровня можно создать Сайтовую Колонку ,указывающую на лист в саите этого самого верхнего уровня, и при этом, если использовать эту колонку в подсайтах она будет прекрасно лукапится на тот самый сайт на верхнем уровне.
Секрет кроется в том что для лукапов можно указывать атрибут WebId в схеме.
Из этого следует то что при должном умении можно создавать лукапные поля на любой сайт, просто изменяя схему листа.

  1. <Field
  2. Type="Lookup" DisplayName="SuperSiteLookUp" Required="FALSE"
  3. List="{9f471bab-8847-4fab-8fef-8f9f4eb4260f}"
  4. WebId="2cb19ced-0834-4e5d-ba7f-7bfae1450254"
  5. ShowField="Title"
  6. UnlimitedLengthInDocumentLibrary="FALSE"
  7. Group="Custom Columns"
  8. ID="{75a1689c-2c09-40e6-ba3d-2224751a3e51}"
  9. SourceID="{2cb19ced-0834-4e5d-ba7f-7bfae1450254}"
  10. StaticName="SuperSiteLookUp"
  11. Name="SuperSiteLookUp" ColName="int2" RowOrdinal="0" />

2 комментария:

Денис комментирует...

Добрый день.

Подскажите пожалуйста. А где найти схему листа?

У меня есть 2 листа. Один в корне, второй - на подсайте.

Как сделать лукап в листе на подсайте из корневого сайта?

Заранее благодарю.

Advard II комментирует...

Денис,
Схему листа можно посмотреть например SharePoint Manager'ом.

Но, если я Вас правильно понял, то редактировать в ручную, в Вашем случае, ее не надо т.к. сработает трик с лукапной сайтовой колонкой.