我目前正在开发一个Outlook Addin,这是我第一次做面向对象的事情, 我是一个初学者,但是因为你们所有人都必须在某个地方,我认为你们都可以富有同情心和我一起:)并且如果我问的方式可能会被认为是愚蠢的,那就不要判断我。 / p>
我有一个Outlook Addin,可以将电子邮件从Outlook保存到SharePoint,我需要的是 SharePoint库树视图,它会在保存到SharePoint 后显示按下按钮(应该看起来像这样TreeView)
我的问题这里的任何人都有这方面的经验,任何人都做过类似的事情,有人可以帮助我通过任何tipps开始吗? 我提前感谢大家,我期待着你的伟大的答案。
到目前为止我所拥有的是这个,但我需要一些关于如何使用它的知识: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;
}
}
答案 0 :(得分:0)
就面向对象而言,您需要了解有类和对象是类的实例。
一个类只是一个通用的蓝图。 对象是该蓝图的实例化。
使用点运算符,对象可以访问您为类设置的参数。
例如,如果您有一个名为Person的类,并带有age参数。如果你实例化了创建一个名为Tim的对象的类,你可以说。 Tim.age指的是年龄属性。
答案 1 :(得分:0)
我开发了一个完全符合您描述的应用程序: https://out2share.codeplex.com/ 你可以查看代码。