miércoles, 22 de julio de 2015

¿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:


0 comentarios:

Publicar un comentario