Sharepoint: лучший способ отображения списков контента, не принадлежащего Sharepoint, с помощью «совместимого» интерфейса? - PullRequest
1 голос
/ 16 сентября 2008

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

Мне известно о «DataFormWebPart», но я не смог заставить его работать должным образом. Для этого требуется действительный источник данных, и мне не удалось создать его из результатов вызова веб-службы ... Часть проблемы заключается в том, что мои оболочки веб-служб не предоставляют информацию о возвращении XML, скорее, у меня есть куча десериализованных объектов. , Похоже, не существует простого способа превратить реальные объекты в источник данных или заполнить «общий» источник данных из данных объекта.

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

Итак, сначала: кто-нибудь здесь написал элемент управления Sharepoint, который делает это, и если да, то есть ли у вас пример кода для обмена? Если нет: пропускаю ли я какой-нибудь полезный элемент управления, предоставляемый MS или доступный во внешней библиотеке?

Спасибо! Стив

Ответы [ 5 ]

2 голосов
/ 17 сентября 2008

Sharepoint: лучший способ отображения списков контента, не принадлежащего Sharepoint, с «Совместимый» интерфейс?

Взгляните на встроенные веб-элементы управления sharepoint:

Пространство имен Microsoft.SharePoint.WebControls

Содержит все элементы управления, используемые в sharepoint. Я бы сказал вам больше, но документация очень тщательная.

0 голосов
/ 12 марта 2009

Вы можете создать пользовательскую веб-часть и использовать SPGridView. Вы говорите, что вам это не нравится, потому что это заставляет каждое поле в свою колонку, но это не так. Вы можете создать шаблон (ITemplate) для каждого столбца и полностью настроить то, что показано внутри него, так же, как если бы вы использовали обычный ASP.Net GridView. Используя этот подход, я добавил маленькие «Новые» изображения рядом с заголовком элемента списка, как это делает сам SharePoint.

0 голосов
/ 17 сентября 2008

Вот отличная статья, в которой объясняется, как настроить подключения BDC к веб-службам с помощью редактора определений BDC:

Создание подключения к веб-службе с помощью редактора определений каталога бизнес-данных http://msdn.microsoft.com/en-us/library/bb737887.aspx

0 голосов
/ 17 сентября 2008

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

0 голосов
/ 17 сентября 2008

Проблема с SharePoint заключается в том, что существует множество разных способов сделать это. Если ваши данные не меняются слишком часто и не слишком велики, возможно, стоит подумать о том, чтобы внести их в список для отображения. Если у вас есть лицензия Enterprise, возможно, стоит перенести ваши данные в BDC и использовать их там. вам может потребоваться преобразовать объекты в xml или использовать сериализованные объекты с веб-частью XML для отображения. Это все еще имеет проблему пользовательского рендеринга с использованием XSLT.

...