I am currently developing an Outlook Addin, this is my first time doing something Object oriented, I'm a beginner, but since you all must have been there at somepoint i think you can all be relate to me :) and not judge me if the way I ask might come across as stupid.
I have an Outlook Addin, which saves e-mails from Outlook to SharePoint, what i Need is aSharePoint Library Tree View which Shows up once the Save To SharePoint button is pressed.
My Question does anybody here have any experience with this, has anybody done anything similiar, can anybody help me get a headstart through any tipps? I Thank you all in Advance, and am looking Forward to yourGreat Answers.
what i have been able to gather so far is this (but since I'm e beginner i Need some tips as on how to use it):
public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart { TreeView treeView; TreeNode rootNode; public WebPart1() { } protected override void RenderContents(System.Web.UI.HtmlTextWriter writer) { // render the control base.RenderContents(writer); } protected override void CreateChildControls() { base.CreateChildControls(); // get the current site SPSite currentSite = SPContext.Current.Site; using (SPWeb currentWeb = currentSite.OpenWeb()) { // set the tree view properties treeView = new System.Web.UI.WebControls.TreeView(); treeView.ShowLines = true; // show lines treeView.ExpandDepth = 0; // expand non SPList list = currentWeb.Lists["All Programs"]; // build the tree rootNode = new System.Web.UI.WebControls.TreeNode(list.Title, "", "", list.RootFolder.ServerRelativeUrl.ToString(), ""); // loop down the tree GetFolder(list.RootFolder, rootNode, list); // add the root node to tree view treeView.Nodes.Add(rootNode); } this.Controls.Add(treeView); base.CreateChildControls(); } public void GetFolder(SPFolder folder, TreeNode rootNode, SPList list) { // create a new node TreeNode newNode = new System.Web.UI.WebControls.TreeNode(folder.Name, "", "~/_layouts/images/itdl.gif", folder.ServerRelativeUrl.ToString(), ""); try { // don't add the forms folder if (folder.Name != "Link") { // loop through all child folders foreach (SPFolder childFolder in folder.SubFolders) { // don't add the forms folder if (childFolder.Name != "Link") { TreeNode trn = new System.Web.UI.WebControls.TreeNode(childFolder.Name, "", "", childFolder.ServerRelativeUrl.ToString(), ""); newNode = GetItems(childFolder, trn); // add the new node to the tree rootNode.ChildNodes.Add(newNode); } } } } catch { } } public TreeNode GetItems(SPFolder folder, TreeNode node) { //Get Items from childFolder SPQuery qry = new SPQuery(); qry.Folder = folder; SPWeb web = null; web = folder.ParentWeb; SPListItemCollection ic = web.Lists[folder.ParentListId].GetItems(qry); foreach (SPListItem subitem in ic) { if (subitem.Folder != null) //Is Subfolder { // create a new node for a subfolder and add items to it TreeNode childNode = new System.Web.UI.WebControls.TreeNode(subitem.Folder.Name); node.ChildNodes.Add(GetItems(subitem.Folder, childNode)); } if (subitem.Folder == null) { TreeNode trn1 = new System.Web.UI.WebControls.TreeNode( subitem["Title0"].ToString()); node.ChildNodes.Add(trn1); } } return node; } }