Muszę opracować część Web dla programu SharePoint, która odczytuje listę i tworzy widok drzewa.Programowe tworzenie widoku drzewa w programie SharePoint na podstawie kolumny
widoku drzewa musi być zorganizowany w sposób następujący: korzeń (lub korzenie) ma być utworzona przez pole wyboru, który reprezentuje kategorię, na przykład Napoje, węzły potomne są nazwa rzędami które zawierają tę kategorię, widok drzewa musi zostać utworzony programowo. Kod
List:
Title(string) Category(Choice)
Coke Drinks
Beer Drinks
Fish Food
Chips Food
Would produce this:
Drinks
Coke
Beer
Food
Fish
Chips
mam tak daleko
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();
}
}
Można oddziel fragment kodu, który nie może być wt on webpart i utworzyć oddzielną klasę C# dla TreeNode Creation ..? – MethodMan