treeView

Jack Wang 2008-07-14 01:15:11
请问treeView如果绑定数据表
...全文
37 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fellowcheng 2008-07-14
  • 打赏
  • 举报
回复
一般是用TreeNodePopulate事件异步加载

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;
}
}
}
}
huguang2yq 2008-07-14
  • 打赏
  • 举报
回复
TreeView1.DataBind();

62,077

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧