[MOSS] Creando un custom ListViewWebPart

El otro día, creando una galería multimedia en un portal de publicación, necesitaba añadir un ListViewWebPart dinámicamente al layout de publicación y asociarlo a una librería de imagenes, para permitir al usuario que la creaba un interfaz de administración para subir, borrar…

La cosa era que necesitaba un contendor de este ListViewWebPart para controlar que el usuario era el propietario de la librería y así mostrarle o no el webpart. Al intentar añadir un ListViewWebPart dinámicamente dentro de dicho contenedor, no se mostraba la vista, ahora, si en vez de utilizar este contenedor lo agregaba dinámicamente al layout sí se veía :S

Así que opté por esta solcuión:

SPList pictureList = CurrentWeb.Lists.GetList(new Guid(guid), true);
 
SPView webPartView = pictureList.DefaultView;
 
ViewToolBar toolbar = new ViewToolBar();
SPContext context = 
    SPContext.GetContext(Context, 
                         webPartView.ID, 
                         pictureList.ID, 
                         SPContext.Current.Web);
toolbar.RenderContext = context;
Controls.Add(toolbar);
 
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(webPartView.SchemaXml);
SPView view = new SPView(pictureList, xmlDocument);
 
Literal lbl = new Literal();
lbl.Text = view.RenderAsHtml();
Controls.Add(lbl);

Y el resultado:

image

Salu2 y buen finde :)

Published 12/3/2010 8:38 por Luis Ruiz Pavón
Comparte este post:
http://geeks.ms/blogs/lruiz/archive/2010/03/12/moss-creando-un-custom-listviewwebpart.aspx