代码改变世界

Sharepoint中用treeview来显示组织机构的人员状态的webpart

2009-04-28 16:23  Virus-BeautyCode  阅读(2128)  评论(0编辑  收藏  举报

     

列表项在列表之间的拷贝

 

获取一个网站的文件系统结构的递归函数

 

      使用.net操作AD域的一些代码共享

      http://blog.lickies.cn/Lists/Posts/Post.aspx?List=34201ce7%2Dcc0e%2D452a%2D949a%2Dffcf74a1780a&ID=6

      AD认证模式下如何通过表单登录来代替WINDOWS弹出窗口的方法

      http://blog.lickies.cn/Lists/Posts/Post.aspx?List=34201ce7%2Dcc0e%2D452a%2D949a%2Dffcf74a1780a&ID=4&Source=http%3A%2F%2Fblog%2Elickies%2Ecn%2FLists%2FPosts%2FAllPosts%2Easpx

      目前做的一个项目有一个需求,就是客户要求一级子部门有自己的网站,网站要求显示成员和子部门的成员,用树结构来显示。

      同时客户还有一些横向的组织,就是例如卫生工作小组、防火工作小组之类的,抽取组织结构中的人员来组成,要求这些小组也有自己的网站,网站同样显示人员状态,这里就不用树形了,因为只有一级的关系。

      定义两个内容类型:一个用来放组织结构或者工作组,继承文件夹SPFolder;一个代表人员,有一个栏目的类型为SPUser,代表这个人在网站中的信息

 

      还发现了一个细节的地方,SP的细节地方真是多啊,一不小心就掉进陷阱了。

      今天发现的就是SPFolder,SPWeb.GetFolder()和list.RootFolder.SubFolders[]取出来的SPFolder不是一样的,前者的SPFolder是孤立的,没有ParentFolder和SubFolders,这两个值都是"",后者获取的SPFolder是可以获取前后关系的。

      效果如下图

 

图1  组织结构用户图

图2  工作小组用户图

 

 

      代码如下

      

      

WorkGroupMember WebPart

 

 

       顺便在给大家贴上一段TreeViewDocLib,树形文档库的WebPart,网上找到的,也很好用。

 

 

 

TreeViewDocLibWebPart

 

 

 

TreeViewEditorPart