【问题标题】:Populate Treeview using Client Object Model Sharepoint 2010使用客户端对象模型 Sharepoint 2010 填充 Treeview
【发布时间】:2012-07-06 21:17:08
【问题描述】:

我有一个文档库。在文档库中,我有一个名为 Studies 的文件夹。在研究中,我有 10 个文件夹和后续的子文件夹。

我需要使用客户端对象模型 SharePoint 2010 在树视图中填充相同内容。

DocLibrary1>>Studies>>Study1- Folder1
                             -Folder2
                             -Folder3

我想在一个可以传递文档库并返回树视图的函数中的树视图中发布它。

【问题讨论】:

    标签: sharepoint-2010 wcf-client sharepoint-designer sharepoint-clientobject


    【解决方案1】:

    以下代码将显示每个库的所有库和文件夹

    private void frmForm1_Load(object sender, EventArgs e)
    {
        using (ClientContext clientcontext= new ClientContext("http://your server"))
        {
    
            //Load Libraries from SharePoint
            clientcontext.Load(clientcontext.Web.Lists);
            clientcontext.ExecuteQuery();
            foreach (List list in clientcontext.Web.Lists)
            {
               try
               {
                    if (list.BaseType.ToString() == "DocumentLibrary" && !list.IsApplicationList && !list.Hidden && list.Title != "Form Templates" && list.Title != "Customized Reports" && list.Title != "Site Collection Documents" && list.Title != "Site Collection Images" && list.Title != "Images")
                    {
                        clientcontext.Load(list);
                        clientcontext.ExecuteQuery();
                        clientcontext.Load(list.RootFolder);
                        clientcontext.Load(list.RootFolder.Folders);
                        clientcontext.ExecuteQuery();
                        TreeViewLibraries.ShowLines = true;
                        TreeNode LibraryNode = new TreeNode(list.Title);
                        TreeViewLibraries.Nodes.Add(LibraryNode);
                            foreach (Folder SubFolder in list.RootFolder.Folders)
                            {
                                if (SubFolder.Name != "Forms")
                                {
                                    TreeNode MainNode = new TreeNode(SubFolder.Name);
                                    LibraryNode.Nodes.Add(MainNode);
                                    FillTreeViewNodes(SubFolder, MainNode, clientcontext);
                                }
                            }
    
                    }
                }
    
            }
        }
    }
    
    
    //Recursive Function
    
    public void FillTreeViewNodes(Folder SubFolder, TreeNode MainNode, ClientContext clientcontext)
    {
        clientcontext.Load(SubFolder.Folders);
        clientcontext.ExecuteQuery();
            foreach (Folder Fol in SubFolder.Folders)
            {
                TreeNode SubNode = new TreeNode(Fol.Name);
                MainNode.Nodes.Add(SubNode);
                FillTreeViewNodes(Fol, SubNode, clientcontext);
            }
    }
    

    您可以根据需要修改代码:-)

    【讨论】:

      猜你喜欢
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 2011-11-03
      • 2011-05-21
      • 2011-02-27
      • 1970-01-01
      • 2011-02-10
      相关资源
      最近更新 更多