Показать большой набор данных с сортировкой и фильтрацией в веб-части Sharepoint - PullRequest
1 голос
/ 25 января 2011

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

Что вы посоветуете по технологии, которая будет использоваться?

  • Веб-часть "Средство просмотра отчетов": я думаю, что это круто, но не будет включать прогрессивную выборку данных
  • Пользовательская веб-часть со встроенным пользовательским элементом управления GridView
  • Пользовательская веб-часть со встроенным элементом управления сеткой поставщика (Telerik, DevExpress и т. Д.)
  • Vendor Sharepoint control (существует?)

Доступны ли другие варианты?

Заранее спасибо за ваши мысли

Mauro

Ответы [ 3 ]

2 голосов
/ 26 января 2011

Уберите SharePoint из уравнения.Если бы это было обычное приложение ASP.NET, как бы вы это сделали?Из того, что вы описали, ваша пользовательская веб-часть - это просто пользовательский пользовательский элемент управления ASP.NET, который можно разместить на странице во время выполнения.Похоже, что SharePoint - это просто оболочка для вашей веб-части, не требующая взаимодействия с данными SharePoint или API.

Если в приложении ASP.NET вы используете для этого SSRS, то используйте веб-часть Просмотр отчетов,В противном случае вы можете использовать GridView, Repeater, ListView, сторонний элемент управления и т. Д. Для отображения с Entity Framework, ADO.NET, LINQ to SQL и т. Д. Для доступа к данным.Есть плюсы и минусы с каждым, и нет единого размера, отвечающего всем.Используйте то, что вам больше всего удобно, и в этом есть смысл именно того, что вы пытаетесь сделать.

2 голосов
/ 25 января 2011

Стандартный список не делает то, что вам нужно? Это сортирует и фильтрует, и имеет прогрессивную выборку. Я бы попытался заставить пользователей использовать этот интерфейс, прежде чем дублировать его.

Я сделал кастом SPGridView. Он ведет себя как стандартные представления списка. Но чтобы заставить его работать правильно, нужно приложить немало усилий, особенно с сортировкой и подкачкой страниц. Пейджинговый вид оказался таким. SPListItemCollectionPosition является ключом. В конце концов, когда он был обновлен до sp2010, я заставил заинтересованные стороны изменить свои требования, чтобы мы могли использовать стандартные представления списка.

public class SPPagedGridView : SPGridView {

    protected override void CreateChildControls() {
        base.CreateChildControls();     
        AllowPaging = true;
        PageSize = PAGE_SIZE;
        PageIndexChanging += new GridViewPageEventHandler(oGrid_PageIndexChanging);
    }

    protected override void InitializePager(GridViewRow row, int columnSpan, PagedDataSource pagedDataSource) {
        pagedDataSource.AllowCustomPaging = true;
        base.InitializePager(row, columnSpan, pagedDataSource);
    }

    void oGrid_PageIndexChanging(object sender, GridViewPageEventArgs e) {
        PageIndex = e.NewPageIndex;
        DataBind();
    }

    public override DataBind() {
        SPQuery q = new SPQuery();
        q.RowLimit = PAGE_SIZE;
        SPListItemCollectionPosition pos = new SPListItemCollectionPosition(value);
        q.ListItemCollectionPosition = pos;
        //SPList list = something;
        //list.GetListItems()
    }
}
0 голосов
/ 07 февраля 2011

Недавно я использовал веб-часть Telerik SPRadGrid (для SP 2010), которая обеспечивает полностью декларативную привязку к SQL-интерфейсу SP2010. Вы можете попробовать его на их демонстрационном сайте здесь: http://sharepoint.telerik.com/aspnet-ajax/Pages/default.aspx. Он также поддерживает привязку списков SP со времени разработки, и я слышал, что у них есть привязка Excel в работах, и она будет выпущена в следующей основной части.

...