MSDN Demos SharePoint – WebPart Explorador de Sitios

Con las Extensiones SharePoint para Visual Studio 2008 podemos desarrollar componentes para SharePoint v3 y MOSS. En el sitio http://mssharepointdeveloper.com encontraras todo lo necesario para adquirir las habilidades fundamentales de un programador SharePoint.

En esta ocasión quiero compartir un pequeño ejemplo donde vemos como crear un WebPart explorador de sitios que muestra de manera jerárquica o de árbol todos los enlaces a los sitios de la colección de sitios en donde estamos navegando.

Estoy seguro que tus usuarios lo agradeceran 😉

El resultado:

MSDN Demos SharePoint WebPart  

El codigo: 

  1:    protected override void CreateChildControls()
  2:         {
  3:             base.CreateChildControls();
  4: 
  5:             TreeView arbol = new TreeView();
  6:             arbol.ShowLines = true;
  7:             arbol.ExpandDepth = 2;
  8: 
  9:             using (SPSite sitio = new SPSite(SPContext.Current.Site.Url))
 10:             {
 11: 
 12:                 SPWeb web = sitio.RootWeb;
 13: 
 14:                 TreeNode nodo = new TreeNode(web.Title);
 15:                 nodo.NavigateUrl = web.Url;
 16:                 nodo.ToolTip = web.Description;
 17:                 nodo.ImageUrl = "/_layouts/images/stsicon.gif";
 18:                 arbol.Nodes.Add(nodo);
 19: 
 20:                 CargaTreeView(web, nodo);
 21: 
 22:             }
 23: 
 24:             Controls.Add(arbol);
 25: 
 26:             arbol.ExpandAll();
 27: 
 28:         }
 29: 
 30:         private void CargaTreeView(SPWeb webActual, TreeNode nodoActual)
 31:         {
 32:             foreach (SPWeb web in webActual.GetSubwebsForCurrentUser())
 33:             {
 34:                 TreeNode nodo = new TreeNode(web.Title);
 35:                 nodo.NavigateUrl = web.Url;
 36:                 nodo.ToolTip = web.Description;
 37:                 nodo.ImageUrl = "/_layouts/images/stsicon.gif";
 38:                 nodoActual.ChildNodes.Add(nodo);
 39: 
 40:                 if (web.Webs != null && web.Webs.Count > 0)
 41:                 {
 42:                     CargaTreeView(web, nodo);
 43:                     web.Close();
 44:                 }
 45:             }
 46:         }
 47: 
 

El codigo fuente:

Leave a Reply

Your email address will not be published. Required fields are marked *