Skip to main content

SharePoint Dev und ITPro Blog

Go Search
Home
Impressum
  


SharePoint Dev und ITPro Blog > Posts > Zugriff und Anzeige von SharePoint Daten
Zugriff und Anzeige von SharePoint Daten

Gerade bei Neulingen in  der Programmierung unter SharePoint stelle ich in Workshops immer wieder fest, dass sich viele Programmierer zu viele Umständer beim Datenzugriff und der Anzeige dieser Daten machen. Dabei bietet SharePoint bereits etliche Funktionen und Komponenten an, die diese Aufgabe erheblich erleichtern. Durch die Nutzung der folgenden Möglichkeiten wird der Datenzugriff unterstützt:

-          Ansichten: Ansichten können in der SharePoint Oberfläche sehr einfach und umfangreich konfiguriert werden. So lassen sich Daten aus einer Liste entsprechend eingeschränkt darstellen. Nutzt man diese Ansicht z.B. in einem Webpart, braucht man sich um den Punkt der Datenfilterung ofmals nicht mehr zu kümmern. Programmatisch kann auf die Ansicht über das SPView Objekt einer Liste (SPList) zugegriffen werden.

-          SPQuery und SPSiteDataQuery: Bieten die Möglichkeit, Listen zu filtern. Dies kann anhand einer selbst erstellen Abfrage oder durch Nutzung einer Ansicht (s.o.) erfolgen. Sie sollten diese Möglichkeit des Zugriffs immer einem Iterieren durch eine Liste/Bibliothek vorziehen. Die SPQuery Klasse kann dabei nur innerhalb einer Website genutzt werden. SPSiteDataQuerykann dagegen auf die Daten der gesammten Websitesammlung zugreifen.

-          Webpart Eigenschaften: Die Webpart Eigenschaften sind eine sehr gute Möglichkeit, um ein Webpart parametriesierbar zu machen und es damit für den universellen Einsatz vorzubereiten. Eigenschaften können Shared oder User  sein. Im ersten Fall gelten die Einstellungen für alle Benutzer. Bei User nur für den aktuellen Benutzer.

Zur Anzeige der Daten bieten sich ebenfalls einige vorhandene Möglichkeiten an:

-          Eingebaute Funktionen: RenderASHtml eines SPView Objektes beispielsweise, zeigt die Ansicht auf eine Liste mit den gewohnten Möglichtkeiten (z.B. Menüs) an.

-          GridView: Das bekannte Grid Steuerelement von ASP.NET. Listendaten können durch Überführung in eine DataTable direkt an dieses Steuerelement gebunden werden. Hierzu kennt beispielsweise die SPListItemCollection die Methode GetDatTable().

-          SPGridView: Eine erweiterte Version des ASP.NET Gridviews. Zusammen mit dem SPDataSource kann direkt an eine SharePoint Liste gebunden werden.

Beispiel: Eigenes ListView Webpart

Ein einfaches Beispiel soll den Zugriff auf eine Liste anhand einer Ansicht und der Nutzung von vorgefertigten Methoden aus dem SharePoint Objektmodell zeigen. Das Webpart zeigt eine Ansicht auf eine Liste/Bibbliothek ähnlich dem bekannten Listview Webpart an. Unser Webpart ist aber dahingehend flexibler, als dass es beliebige Listen/Ansichten in beliebigen Websites darstellen kann und die Ansicht dabei nicht statisch ist, sondern immer die aktuellen Daten anzeigt. Um dies zu realisieren sind für den Datenzugriff und für die Anzeige nur 5 Zeilen Code notwendig:

using (SPSite site = new SPSite(m_siteUrl))

{

   using (SPWeb web = site.OpenWeb())

   {

      SPList list = web.Lists[m_List];

      SPView view = list.Views[m_View];

      writer.Write(view.RenderAsHtml());

   }

}

 

In diesem Beispiel wird eine bestehende Ansicht einer Liste genutzt und mit Hilfe der Methode RenderAsHtml() angezeigt. Durch Verwendung von Eigenschaften des Webparts, werden die Website Url, der Name der Liste und der Name der Ansicht parametriesierbar und das Webpart somit universell einsetzbar.

Das Beispiel zeigt, wie mit wenigen Zeilen Code ganz erhebliche Wirkung erzielt werden kann. Das Beispielwebpart kann durchaus als Ersatz für das mitgelieferte Listenwebpart eingesetzt werden und ist dabei in manchen Punkten (Listen aus beliebiegn Sites, Ansichtenm sind immer dynamisch) noch flexibler als das mitgelieferte. Ich möchte durch dieses Beispiel für die Nutzung der Standardfunktionen von SharePoint in SharePoint Lösungen sensibilisieren. Aus meiner Sicht lassen sich Funktionen, die die Standardkonfiguration bereits bietet sehr einfach in eigenen Lösungen elegant anwenden und dabei noch erheblich Zeit und Code sparen.

Ausführbare Version (auf dem SharePoint Web Frontend Server auspacken Setup.exe aufrufen)

Sourcecode für Visual Studio.NET 2005

Sourcecode für Visual Studio.NET 2008

Nach der Installation kann der Webpart z.B. auf die Homepage einer Website gezogen werden. Man kann dann in den Webpart Eigenschaften die Liste und eine Ansicht konfigurieren. In diesem Fall handelt es sich um eine Liste in der aktuellen Website. Trägt man noch eine Website Url ein, kann man auch Listendaten von anderen Websites anzeigen.

Comments

There are no comments yet for this post.
Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Name (required) *


Body (required) *

SPAM Filter *


Bitte geben Sie hier die Nummer 4532 ein. Dadurch kann ich leichter SPAM unterbinden.
Attachments