Sharepoint中用treeview来显示组织机构的人员状态的webpart
2009-04-28 16:23 by Virus-BeautyCode, 编辑
targetItem[f.InternalName] = sourceItem[f.InternalName];
}
}
//copy attachments
foreach (string fileName in sourceItem.Attachments)
{
SPFile file = sourceItem.ParentList.ParentWeb.GetFile(sourceItem.Attachments.UrlPrefix + fileName);
byte[] imageData = file.OpenBinary();
targetItem.Attachments.Add(fileName, imageData);
}
targetItem.Update();
return targetItem;
}
}
使用.net操作AD域的一些代码共享
http://blog.lickies.cn/Lists/Posts/Post.aspx?List=34201ce7%2Dcc0e%2D452a%2D949a%2Dffcf74a1780a&ID=6
AD认证模式下如何通过表单登录来代替WINDOWS弹出窗口的方法
目前做的一个项目有一个需求,就是客户要求一级子部门有自己的网站,网站要求显示成员和子部门的成员,用树结构来显示。
同时客户还有一些横向的组织,就是例如卫生工作小组、防火工作小组之类的,抽取组织结构中的人员来组成,要求这些小组也有自己的网站,网站同样显示人员状态,这里就不用树形了,因为只有一级的关系。
定义两个内容类型:一个用来放组织结构或者工作组,继承文件夹SPFolder;一个代表人员,有一个栏目的类型为SPUser,代表这个人在网站中的信息
还发现了一个细节的地方,SP的细节地方真是多啊,一不小心就掉进陷阱了。
今天发现的就是SPFolder,SPWeb.GetFolder()和list.RootFolder.SubFolders[]取出来的SPFolder不是一样的,前者的SPFolder是孤立的,没有ParentFolder和SubFolders,这两个值都是"",后者获取的SPFolder是可以获取前后关系的。
效果如下图
图1 组织结构用户图
图2 工作小组用户图
代码如下
}
}
}
顺便在给大家贴上一段TreeViewDocLib,树形文档库的WebPart,网上找到的,也很好用。
}
// To Verify the Count of Sub Folders in Current Folder
bool bRecurseFolders = fldr.SubFolders.Count > 0 ? true : false;
// If It has SubFolders Then it will call the Function Recursively
if (bRecurseFolders)
{
for (int i = 0; i < fldr.SubFolders.Count; i++)
{
TreeNode trnChild = new System.Web.UI.WebControls.TreeNode(fldr.SubFolders[i].Name);
node.ChildNodes.Add(TraverseFiles(fldr.SubFolders[i], trnChild));
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return node;
}
// Creating the ToolPart with the WebPart
#region IWebEditable Members
EditorPartCollection IWebEditable.CreateEditorParts ()
{
List<EditorPart> editors = new List<EditorPart>();
editors.Add(new TreeViewEditorPart());
return new EditorPartCollection(editors);
}
object IWebEditable.WebBrowsableObject
{
get { return this; }
}
#endregion
}
}
}
}
}
【
targetItem[f.InternalName] = sourceItem[f.InternalName];
}
}
//copy attachments
foreach (string fileName in sourceItem.Attachments)
{
SPFile file = sourceItem.ParentList.ParentWeb.GetFile(sourceItem.Attachments.UrlPrefix + fileName);
byte[] imageData = file.OpenBinary();
targetItem.Attachments.Add(fileName, imageData);
}
targetItem.Update();
return targetItem;
}
}
使用.net操作AD域的一些代码共享
http://blog.lickies.cn/Lists/Posts/Post.aspx?List=34201ce7%2Dcc0e%2D452a%2D949a%2Dffcf74a1780a&ID=6
AD认证模式下如何通过表单登录来代替WINDOWS弹出窗口的方法
目前做的一个项目有一个需求,就是客户要求一级子部门有自己的网站,网站要求显示成员和子部门的成员,用树结构来显示。
同时客户还有一些横向的组织,就是例如卫生工作小组、防火工作小组之类的,抽取组织结构中的人员来组成,要求这些小组也有自己的网站,网站同样显示人员状态,这里就不用树形了,因为只有一级的关系。
定义两个内容类型:一个用来放组织结构或者工作组,继承文件夹SPFolder;一个代表人员,有一个栏目的类型为SPUser,代表这个人在网站中的信息
还发现了一个细节的地方,SP的细节地方真是多啊,一不小心就掉进陷阱了。
今天发现的就是SPFolder,SPWeb.GetFolder()和list.RootFolder.SubFolders[]取出来的SPFolder不是一样的,前者的SPFolder是孤立的,没有ParentFolder和SubFolders,这两个值都是"",后者获取的SPFolder是可以获取前后关系的。
效果如下图
图1 组织结构用户图
图2 工作小组用户图
代码如下
}
}
}
顺便在给大家贴上一段TreeViewDocLib,树形文档库的WebPart,网上找到的,也很好用。
}
// To Verify the Count of Sub Folders in Current Folder
bool bRecurseFolders = fldr.SubFolders.Count > 0 ? true : false;
// If It has SubFolders Then it will call the Function Recursively
if (bRecurseFolders)
{
for (int i = 0; i < fldr.SubFolders.Count; i++)
{
TreeNode trnChild = new System.Web.UI.WebControls.TreeNode(fldr.SubFolders[i].Name);
node.ChildNodes.Add(TraverseFiles(fldr.SubFolders[i], trnChild));
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return node;
}
// Creating the ToolPart with the WebPart
#region IWebEditable Members
EditorPartCollection IWebEditable.CreateEditorParts ()
{
List<EditorPart> editors = new List<EditorPart>();
editors.Add(new TreeViewEditorPart());
return new EditorPartCollection(editors);
}
object IWebEditable.WebBrowsableObject
{
get { return this; }
}
#endregion
}
}
}
}
}