一个非常有用的webpart--文档列表添加文件夹树
2010-09-03 15:50
323 查看
代码很简单:
//test code by jianyi0115@163.com
// 2008-11-19
//
//
using System;
using System.Collections;
using System.Text;
using sharepoint = Microsoft.SharePoint.WebControls ;
using wss = Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls ;
using System.Web.UI;
using System.Web.UI.Design;
using System.Runtime.InteropServices;
using System.Web.UI.WebControls.WebParts;
using System.Drawing;
using System.ComponentModel;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
namespace ThinkingSoft
{
[Guid("D55A1423-B38E-4c2e-9303-C234D7B7453E")]
public class TreeListViewWebPart : wss.WebPart
{
private string _ListUrl = "http://jyserver:9000/000/Forms/AllItems.aspx" ;
[WebBrowsable]
[PersonalizableAttribute]
[DisplayName("列表Url")]
public string ListUrl
{
get { return _ListUrl; }
set { _ListUrl = value; }
}
protected override void CreateChildControls()
{
base.CreateChildControls();
try
{
SPList list = SPContext.Current.Web.GetList(_ListUrl);
SPView view = list.DefaultView;
SPFolder f = list.RootFolder;
TreeView tree = new TreeView();
tree.ShowLines = true;
string viewUrl = Page.Request.RawUrl;
if (viewUrl.IndexOf("?") != -1)
viewUrl = viewUrl.Split('?')[0];
viewUrl += "?RootFolder=";
string currentUrl = Page.Request.QueryString["RootFolder"];
this.buildSub(viewUrl, f, tree.Nodes);
addHtml("<table width='100%' border='1'><tr><td width='20%' valign='top'>");
this.Controls.Add(tree);
addHtml("</td><td valign='top'>");
this.Controls.Add(new LiteralControl(view.RenderAsHtml()));
addHtml("</td></table>");
}
catch (Exception ex)
{
addHtml(ex.Message);
}
}
void addHtml( string html )
{
this.Controls.Add(new LiteralControl(html));
}
//创建文件夹树
void buildSub( string viewUrl , SPFolder root , TreeNodeCollection nodes )
{
foreach (SPFolder f in root.SubFolders)
{
if (f.Name.ToLower() == "forms") continue;
TreeNode n = new TreeNode();
n.Text = f.Name;
n.NavigateUrl = viewUrl + f.Url;
nodes.Add(n);
buildSub( viewUrl , f , n.ChildNodes );
}
}
}
}
//test code by jianyi0115@163.com
// 2008-11-19
//
//
using System;
using System.Collections;
using System.Text;
using sharepoint = Microsoft.SharePoint.WebControls ;
using wss = Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls ;
using System.Web.UI;
using System.Web.UI.Design;
using System.Runtime.InteropServices;
using System.Web.UI.WebControls.WebParts;
using System.Drawing;
using System.ComponentModel;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
namespace ThinkingSoft
{
[Guid("D55A1423-B38E-4c2e-9303-C234D7B7453E")]
public class TreeListViewWebPart : wss.WebPart
{
private string _ListUrl = "http://jyserver:9000/000/Forms/AllItems.aspx" ;
[WebBrowsable]
[PersonalizableAttribute]
[DisplayName("列表Url")]
public string ListUrl
{
get { return _ListUrl; }
set { _ListUrl = value; }
}
protected override void CreateChildControls()
{
base.CreateChildControls();
try
{
SPList list = SPContext.Current.Web.GetList(_ListUrl);
SPView view = list.DefaultView;
SPFolder f = list.RootFolder;
TreeView tree = new TreeView();
tree.ShowLines = true;
string viewUrl = Page.Request.RawUrl;
if (viewUrl.IndexOf("?") != -1)
viewUrl = viewUrl.Split('?')[0];
viewUrl += "?RootFolder=";
string currentUrl = Page.Request.QueryString["RootFolder"];
this.buildSub(viewUrl, f, tree.Nodes);
addHtml("<table width='100%' border='1'><tr><td width='20%' valign='top'>");
this.Controls.Add(tree);
addHtml("</td><td valign='top'>");
this.Controls.Add(new LiteralControl(view.RenderAsHtml()));
addHtml("</td></table>");
}
catch (Exception ex)
{
addHtml(ex.Message);
}
}
void addHtml( string html )
{
this.Controls.Add(new LiteralControl(html));
}
//创建文件夹树
void buildSub( string viewUrl , SPFolder root , TreeNodeCollection nodes )
{
foreach (SPFolder f in root.SubFolders)
{
if (f.Name.ToLower() == "forms") continue;
TreeNode n = new TreeNode();
n.Text = f.Name;
n.NavigateUrl = viewUrl + f.Url;
nodes.Add(n);
buildSub( viewUrl , f , n.ChildNodes );
}
}
}
}
相关文章推荐
- 一个非常有用的webpart--文档列表添加文件夹树
- 一个非常有用的webpart--文档列表添加文件夹树
- 添加一个文档模板的步骤
- 一个非常有用的windbg命令.cmdtree
- Android:如何把一个应用添加到Settings列表中...
- 利用RecycleView实现类似ListView的Item点击,长按等操作事件以及点击后每一项在添加一个列表
- 给出两个表示两个非负整数的非空链表。数字以相反的顺序存储,它们的每个节点都包含一个数字。添加两个数字,并将其作为链接列表返回。
- // 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- 编写一个最简单的WebPart(3):添加WebPart
- 转贴:BLINQ是微软ASP.NET产品组的Polita Paulus推出的一个非常有用的工具。
- 针对这一段时间ASP.NET版中比较集中突出的问题,我写了一个完整的页面,包含显示/修改/删除/添加/排序/合并/写文件/显示图片或文档,有详细代码注释
- iOS实现类似QQ的好友列表,自由展开折叠(在原来TableView的基础上添加一个字典,一个Button)
- 为一个文档类对象添加多个视图类对象的方法
- 一个非常适合IT团队的在线API文档、技术文档工具 (ShowDoc)
- MFC文档的菜单栏中添加一个command响应函数
- 一个非常有用的调试技巧
- 一个非常有用的函数——COALESCE
- 我用vs2005写了一个webservice用来查询sql2005数据库中表值,返回一个dataset类型集合,测试时候显示的xml文档没有问题,但是当我添加web引用的时候却无法正常显示而且报错原因之一。
- jquery.validate 验证控件的 一个 api 文档 ,希望对有用到的朋友 起到一点作用
- Android Studio官方文档之为新设备添加一个模块篇