Tengo que desarrollar un elemento web para SharePoint que lea una lista y cree una vista en árbol.Crear mediante programación una vista de árbol en SharePoint basada en una columna
vistaEl árbol tiene que ser organizado de la siguiente manera: La raíz (o raíces) debe ser creado por un campo de elección, que representa una categoría, por ejemplo bebidas, los nodos secundarios son el nombre de las filas que contienen esa categoría, la vista de árbol debe crearse mediante programación.
List:
Title(string) Category(Choice)
Coke Drinks
Beer Drinks
Fish Food
Chips Food
Would produce this:
Drinks
Coke
Beer
Food
Fish
Chips
código que tengo hasta ahora
TreeView treeView;
TreeNode rootNode;
TreeNode childNode;
protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
{
// render the control
base.RenderContents(writer);
}
protected override void CreateChildControls()
{
List<TreeNode> items = new List<TreeNode>();
base.CreateChildControls();
// get the current site
using (SPSite Site = new SPSite(SPContext.Current.Site.Url + "/UberWiki"))
{
using (SPWeb currentWeb = Site.OpenWeb())
{
// set the tree view properties
SPList list = currentWeb.Lists["Pages"];
SPFieldChoice field = (SPFieldChoice)list.Fields["Categories"];
foreach (string str in field.Choices)
{
treeView = new System.Web.UI.WebControls.TreeView();
rootNode = new System.Web.UI.WebControls.TreeNode(str);
treeView.Nodes.Add(rootNode);
foreach (SPListItem rows in list.Items)
{
childNode = new System.Web.UI.WebControls.TreeNode(rows.Title);
treeView.Nodes.Add(childNode);
}
}
}
this.Controls.Add(treeView);
base.CreateChildControls();
}
}
puede separar la porción del código que no está permitido en t él webpart y crea una clase C# separada para la creación TreeNode ..? – MethodMan