Объединение разных списков данных и отображение их в веб-части - PullRequest
1 голос
/ 20 апреля 2009

позвольте мне объяснить мою текущую ситуацию

У меня есть сайт SharePoint, допустим, что это MAIN, а дочерний сайт позволяет называть его SUBMAIN

в MAIN у меня есть список с именем "a", а в subMAIN у меня есть список с именем "b"

оба списка имеют одинаковые столбцы,

Мне нужно показать содержимое обоих списков (упорядоченных по дате изменения, например) в одной веб-части на главной странице. Я знаю, что это возможно, но не смогу добраться до него.

В настоящее время я показываю только содержимое списка "a" в веб-части запроса контента (я изменил способ его отображения и добавил к нему горизонтальную область отображения), поэтому было бы хорошо, если бы я как-то мог добавить содержимое списка " "также к той же веб-части запроса контента (но если это невозможно в веб-части запроса контента, то все в порядке, по крайней мере, дайте мне знать, какие у меня есть варианты)

Ваша помощь приветствуется

Ответы [ 4 ]

1 голос
/ 20 апреля 2009

Я создал веб-части для отображения элементов из 2 разных списков и сделал нечто похожее на то, что предлагал Скотт Прайс. Я использовал объект SPQuery для каждого списка и использовал его для получения объектов DataTable, которые затем я мог бы использовать с такими вещами, как Repeaters и DataLists. Вы можете объединить две таблицы и сделать что-то похожее.

Самым большим трюком для меня была настройка пользовательских шаблонов для привязки данных в веб-части. Для этого я создал собственный класс, который реализовал интерфейс ITemplate, а затем выдал HTML-код для каждого элемента из класса шаблона в обработчике событий. Затем вы просто создаете экземпляр класса вашего шаблона и устанавливаете его как свойство ItemTemplate вашего, скажем, DataList.

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

1 голос
/ 20 апреля 2009

Если вы используете SharePoint Designer для этого, взгляните на этот блог .

Если вы создаете свою собственную веб-часть, я бы выполнил два запроса к объектам SPList. Затем вы можете агрегировать, сортировать и т. Д. Результаты по своему усмотрению. Если вы не знакомы с SPList, вы можете посмотреть здесь для обзора MSDN.

0 голосов
/ 10 июня 2009

Другим подходом является SLAM, Менеджер ассоциации списков SharePoint , проект с открытым исходным кодом, который моя компания создала и активно поддерживает. SLAM позволит вам настроить автоматическую синхронизацию этих двух списков с таблицами SQL, после чего вы сможете создать запрос для объединения этих двух. Если у вас есть два списка, построенных на основе типа контента (поскольку они имеют одинаковые поля), вы можете фактически отбросить тип контента и иметь оба списка в одной и той же таблице SQL.

0 голосов
/ 21 апреля 2009

Если вы не хотите кодировать свое собственное решение, вы можете рассмотреть эту веб-часть на codeplex:

http://rssaggregator.codeplex.com/

На самом деле это агрегатор RSS, но, поскольку все списки SharePoint имеют встроенные RSS-каналы, вы можете использовать его для объединения списков SharePoint с разных сайтов.

...