61,825
社区成员




protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
try
{
if (ViewState["ReceiverList"] != null)
{
dtlRec = (DataTable)ViewState["ReceiverList"];
}
string groupid = e.Node.Value;
if (groupid != null && groupid != "")
{
Guid id = new Guid(groupid);
Group group = new Group(id);
GroupNode(e.Node, group);
}
else
{
groupid = "00000000-0000-0000-0000-000000000000";
Guid id = new Guid(groupid);
Group group = new Group(id);
GroupNode(e.Node, group);
}
}
catch { }
}
/// <summary>
/// 获取组节点
/// </summary>
/// <param name="Node">树节点</param>
/// <param name="userInfo">组信息</param>
protected void GroupNode(TreeNode Node, Group group)
{
GroupCollection groups = Groups.GetSubgroups(group);
foreach (Group g in groups)
{
TreeNode groupnode = new TreeNode(g.GroupName, g.GroupID.ToString());
groupnode.ImageUrl = "~/images/group.gif";
groupnode.SelectAction = TreeNodeSelectAction.Expand;
StringBuilder value = new StringBuilder();
string[] users = Groups.GetUsersInGroup(g);
for (int i = 0; i < users.Length; i++)
{
MembershipUser u = Membership.GetUser(users[i]);
if (u != null)
{
ManNode(groupnode, u);
}
}
groupnode.Value = "";
groupnode.ToolTip = value.ToString();
Node.ChildNodes.Add(groupnode);
Group subgroup = new Group(g.GroupID);
GroupCollection subgroups = Groups.GetSubgroups(subgroup);
GroupNode(groupnode, subgroup);
}
}
/// <summary>
/// 获取人员节点
/// </summary>
/// <param name="Node">树节点</param>
/// <param name="userInfo">用户信息</param>
protected void ManNode(TreeNode Node, MembershipUser userInfo)
{
string uInfo = userInfo.ProviderUserKey.ToString();
string uText = userInfo.Comment + "<input style='display:none;' type='text' value='" + uInfo + "' title='" + userInfo.Comment + "' />";
TreeNode mannode = new TreeNode(uText, userInfo.ProviderUserKey.ToString());
mannode.ImageUrl = "~/images/user.gif";
mannode.SelectAction = TreeNodeSelectAction.None;
Node.ChildNodes.Add(mannode);
if (dtlRec != null && dtlRec.Rows.Count > 0)
{
foreach (DataRow rowRec in dtlRec.Rows)
{
if (mannode.Value == rowRec["Receiver"].ToString())
{
mannode.Checked = true;
}
}
}
}