¿Cómo editar una vista de una webpart en una página en SharePoint con C#?

Supongamos que tenemos que modificar el filtro de una vista en la página de inicio de nuestro sitio.

 
Esta es nuestra webpart:
 
 
Y este el filtro:
 
 
El enfoque a utilizar:
  • Encontrar la página de inicio
  • Buscar la webpart por título
  • Instanciar su vista
  • Cambiar el QUERY
Para ello utilizamos este código:

 
 
                                    SPFile homeFile = oWebsite.GetFile("default.aspx");
                                    using (SPLimitedWebPartManager mgr = homeFile.GetLimitedWebPartManager(PersonalizationScope.Shared))
                                    {
                                        SPLimitedWebPartCollection webparts = mgr.WebParts;
                                        foreach (System.Web.UI.WebControls.WebParts.WebPart wp in webparts)
                                        {
                                            if (wp.Title == "Issues y riesgos (demorados)")
                                            {
                                                XsltListViewWebPart lv = (XsltListViewWebPart)wp;
                                                var viewId = new Guid(lv.ViewGuid);
                                                SPView v = listaRiesgos.Views[viewId];
                                                v.Query = "<OrderBy><FieldRef Name="Title" /></OrderBy><Where><Eq><FieldRef Name="Estado_Cumplimiento_Riesgo" /><Value Type="Text">Plan demorado</Value></Eq></Where>";
                                                v.Update();
                                                contenido.InnerHtml += "<span style=’color: green’>" + wp.Title + " actualizada!</span><br>";
                                            }
                                        }
                                    }

 
Y vemos el resultado:
 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *