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