找了很多资料都没找到我想要的
所以在这里向大家请教下打个比方
这里有两个表 部门表和用户表
部门表有字段 bumenId,部门
用户表有字段 useId,用户,bumenId
现在我要实现一个树状图
部门1
..用户1
..用户2
部门2
..用户3
..用户4
也就是说部门Id相同的用户做同一节点的子节点新手求教,各位大大帮帮忙,能有点小列子更好是Winform窗体程序
所以在这里向大家请教下打个比方
这里有两个表 部门表和用户表
部门表有字段 bumenId,部门
用户表有字段 useId,用户,bumenId
现在我要实现一个树状图
部门1
..用户1
..用户2
部门2
..用户3
..用户4
也就是说部门Id相同的用户做同一节点的子节点新手求教,各位大大帮帮忙,能有点小列子更好是Winform窗体程序
<div class="dv_path" onmouseover="this.style.backgroundColor='#CCEFFD'" onmouseout="this.style.backgroundColor=''" >
<ul>
<li style="margin-right:2px;"><img src="../../sysImages/folder/nos.gif" width="11" height="11" align="middle" /></li>
<li style="margin-right:2px;"><img src="../../sysImages/default/admin/menu_dot_2.gif" width="13" height="16" align="middle" /></li>
<li style="width:200px;overflow:hidden; padding-top:2px; ">工程部</li>
<li><input type="checkbox" name="checkbox" value="checkbox" /></li>
<li>
<a href=""><img src="/sysImages/default/sysico/edit.gif" width="34" height="21" /></a>
<a href=""><img src="/sysImages/default/sysico/addclass.gif" width="58" height="21" /></a>
<a href=""><img src="/sysImages/default/sysico/del.gif" width="34" height="21" /></a>
</li>
</ul>
</div>
</div>using System;
using System.Collections.Generic;using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Galsun.Common;
using Galsun.Nfdw.Content;
using Galsun.Nfdw.Mode;namespace Galsun.Nfdw.Web.manage.Base
{
public partial class organ_list : Galsun.Nfdw.Web.UI.ManagePage
{
private Organ org = new Organ();
protected void Page_Load(object sender, EventArgs e)
{
Response.Expires = 0;
Response.CacheControl = "no-cache";
if (!IsPostBack)
{
setdatalist();
}
}
private void setdatalist()
{
dv_path_body.InnerHtml = getdatalist("0", 1);
}
private string getdatalist(string parent, int leve)
{
string _strform = string.Empty;
_strform += " <div class=\"dv_path\" onmouseover=\"this.style.backgroundColor='#CCEFFD'\" onmouseout=\"this.style.backgroundColor=''\" >\r\n";
_strform += " <ul style=\"padding-left:{3}px;\">\r\n";
_strform += " <li style=\"margin-right:2px;\"><img src=\"/sysImages/folder/nos.gif\" width=\"11\" height=\"11\" /></li>\r\n";
_strform += " <li><input type=\"checkbox\" name=\"c_id\" id=\"c_id\" value=\"{0}\" /></li>\r\n";
_strform += " <li style=\"margin-right:2px;padding-top:2px;\"><img src=\"/sysImages/default/admin/menu_dot_2.gif\" width=\"13\" height=\"16\" /></li>\r\n";
_strform += " <li style=\"width:300px;overflow:hidden; \">{1}({2})</li>\r\n";
_strform += " <li>\r\n";
_strform += " <a href=\"organ_add.aspx?act=edit&id={0}\"><img src=\"/sysImages/default/sysico/edit.gif\" width=\"34\" height=\"21\" /></a>\r\n";
_strform += " <a href=\"organ_add.aspx?act=add&id={0}\"><img src=\"/sysImages/default/sysico/addclass.gif\" width=\"58\" height=\"21\" /></a>\r\n";
_strform += " <a href=\"javascript:del({0});\"><img src=\"/sysImages/default/sysico/del.gif\" width=\"34\" height=\"21\" /></a>\r\n";
_strform += " </li>\r\n";
_strform += " </ul>\r\n";
_strform += " </div>\r\n";
string _list = string.Empty;
foreach (t_1000info item in org.GetOrganList(parent))
{
_list = _list + string.Format(_strform, item.T_1001, item.T_1003,item.T_1002, (leve * 13)) + getdatalist(item.T_1002, leve + 1);
}
return _list;
}
}
}
dtBumen.Columns.Add("bumenId");
dtBumen.Columns.Add("bumenName");
dtBumen.Rows.Add("B1", "部门A");
dtBumen.Rows.Add("B2", "部门B");
dtBumen.Rows.Add("B3", "部门C");
foreach (DataRow row in dtBumen.Rows)
treeView1.Nodes.Add(row["bumenId"].ToString(), row["bumenName"].ToString());DataTable dtUser = new DataTable();
dtUser.Columns.Add("userId");
dtUser.Columns.Add("userName");
dtUser.Columns.Add("bumenId");
dtUser.Rows.Add("001", "用户1", "B1");
dtUser.Rows.Add("002", "用户2", "B1");
dtUser.Rows.Add("003", "用户3", "B1");
dtUser.Rows.Add("004", "用户4", "B2");
dtUser.Rows.Add("005", "用户5", "B3");
foreach (DataRow row in dtUser.Rows)
{
TreeNode parent = treeView1.Nodes[row["bumenId"].ToString()];
parent.Nodes.Add(row["userId"].ToString(), row["userName"].ToString());
}
{
if (e.Node.ChildNodes.Count == 0)
{ switch (e.Node.Depth)
{
case 0:
Populateyear(e.Node);
break;
default:
Populatemonth(e.Node);
break;
}
}
}
void Populateyear(TreeNode node)
{
string str = "select * from gw_treemenu where parent='0' order by id";
PMS.Common.DataAccess dataas = new PMS.Common.DataAccess();
DataTable DT = dataas.CreateDataTable(str);
foreach (DataRow row in DT.Rows)
{
TreeNode NewNode = new TreeNode(row["title"].ToString().Trim(), row["id"].ToString().Trim());
NewNode.PopulateOnDemand = true;
NewNode.ImageUrl = "~/image/tree/folder.gif";
NewNode.SelectAction = TreeNodeSelectAction.SelectExpand;
node.ChildNodes.Add(NewNode);
}
} <asp:TreeView ID="TreeView1" runat="server" NodeIndent="15" CollapseImageUrl="~/image/tree/folder.gif"
ExpandDepth="2" ExpandImageUrl="~/image/tree/folder-open.gif" ImageSet="XPFileExplorer"
OnTreeNodePopulate="TreeView1_TreeNodePopulate" OnTreeNodeExpanded="TreeView1_TreeNodePopulate"
OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" ShowLines="True" >
<HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
<Nodes>
<asp:TreeNode Text="根节点" Value="0" PopulateOnDemand="True" SelectAction="SelectExpand">
</asp:TreeNode>
</Nodes>
<NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px"
NodeSpacing="0px" VerticalPadding="2px" />
<ParentNodeStyle Font-Bold="False" />
<SelectedNodeStyle Font-Underline="False" HorizontalPadding="0px" VerticalPadding="0px"
BackColor="#B5B5B5" />
</asp:TreeView>