Sharepoint:Лучший способ отображать списки содержимого, отличного от Sharepoint, с “совместимым” пользовательским интерфейсом?

StackOverflow https://stackoverflow.com/questions/75747

Вопрос

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

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

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

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

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

Это было полезно?

Решение

Sharepoint:Лучший способ отображения списков содержимого, отличного от Sharepoint, с “совместимым” пользовательским интерфейсом?

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

Майкрософт.SharePoint.Пространство имен WebControls

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top