Posts mit dem Label ListViewWebPart werden angezeigt. Alle Posts anzeigen
Posts mit dem Label ListViewWebPart werden angezeigt. Alle Posts anzeigen

Mittwoch, 1. Februar 2012

ListViewWebPart 2010 naechster Versuch

Dank Mohamed M Malek und Bryan Napier hab auch ich jetzt endlich verstanden was beim hinzufügen eines ListViewWebParts passiert. Der Schlüssel ist die versteckte View die durch den LimitedWebPartManger in der zugehörigen Liste angelegt wird und durch einen list.Update() persistiert werden muss.

Das erklärt auch die Probleme die ich nach dem Hinzufügen eines WebParts hatte, die allerdings nur solange bestanden, bis der Edit-Dialog des WebParts aufgerufen wurde und mit [OK] wieder geschlossen wurde.
Zum einen fehlte im WebPart der "Add New Atem"-Link und zum anderen wurde ein Feld das auf einem Custom Fieldtype basiert, nicht richtig gerändert.

Möchte man die View anpassen muss man das WebPart zum LimitedWebPartManager hinzufügen die Liste Updaten und sich danach das Listen- und das Webart-Object neu erzeugen.
Das View-Objekt erhält man in dem man mit der Webart.ViewGuid die versteckte View aus der Liste holt. Dieses Object kann dann beliebig verändert werden.


Mohamed Malek zeigt darüberhinaus wie das die Toolbox der WebParts verändert werden kann.

Mittwoch, 16. Februar 2011

Adding a ListViewWebPart to Page


[UPDATE 01.Feb.2012: wp.ViewGuid = string.Empty gilt nur für 2007]
Hier eine Erklärung für 2010
[ENDUPDATE]
[UPDATE: Set View to "Summary View"]


using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;

// Get a reference to a web and a list
SPSite site = new SPSite("http://localhost:8000");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["Contacts"];

// Instantiate the web part
ListViewWebPart wp = new ListViewWebPart();
wp.ZoneID = "Left";
wp.ListName = list.ID.ToString("B").ToUpper();
// wp.ViewGuid = list.DefaultView.ID.ToString("B").ToUpper();
// Set the ViewGuid to string.Empty to get the "Summery View"
// including the "Add New Item"-Button
// Thanks to sadomovale
wp.ViewGuid = string.Empty;
// Get the web part collection
SPWebPartManager mgr = new SPWebPartManager("default.aspx", Storage.Shared);
// Add the web part
coll.Add(wp); 


Dienstag, 26. Oktober 2010

How to Add a ListViewWebPart to a Publishing Page

neuer Versuch das ListViewWebPart zu verstehen







Adding a ListViewWebPart to a "Publishing Page" is easy.
Create a Instance of a SPWebpartmanager, with the relevant Page-Url and get the WebPartCollection.
Create a new ListViewWebPart instance, set the ListID to the ID of SPList object you want to show.
Provide a ViewID to the Webpart and add it to the Collection, including the ID of the WebPartZone and a Sequence Number for the order within the zone.


Showing a Document Library including the "Add document" Button  isn't easy at all.
In the UI it is just a click away -> Edit WebPart ->  select ToolbarType and set it to "Summary ToolBar".
I think its almost default in UI.

[UPDATE: see adding-listviewwebpart-to-page]
If you want to use OM to add this WebPart you have to use a "hack" by modifying the schema of the used view. Which can affect also the view of the document library.
Jalil Sear describes it at his blog listviewwebpart-programatically-setting-the-toolbartype-property/


I worked around this issue by adding my own "Add Document" button to the page, having the possibillity of positioning, using audiences and renaming.