---------------------------|
长沙(一级节点) |
长沙威胜(二级节点) |
中联中科(二级节点) |
|
|
|
北京(一级节点) |
北京某某公司(二级节点) |
|
|
上海(一级节点) |
上海某某公司(二级节点) |
___________________________|
我想实现上面这颗树
首先我添加 一级节点
foreach (DataRowView row in ds.Tables[0].DefaultView)
{
node = new TreeNode();
node.Text = row["name"].ToString();
node.Value = row["id"].ToString();
node.NavigateUrl = "buildingconfig/b_tabpage_update.aspx?id="+node.Value ;
node.Target = "Right";
TreeView1.Nodes.Add(node);
}
然后添加2级节点,
我的想法是把2级节点添加到对应的一级节点。
比如,长沙威胜电子,在数据库中但单位表有这样一条记录 pjtname=长沙威胜 所属地市:长沙
有很多单位信息,我想把每条单位的信息添加到对应的一级节点 里面 ,根据 单位表里面的“所属地市” 来做判断。
请问怎样处理
8 个解决方案
#1
如果你数据库里结构好的话,可以一次性把树构建出来。就是递归的运用
#2
数据库稀烂的,
#3
http://www.cnblogs.com/kingfly/archive/2009/09/21/1571016.html
看下这个你再不会你打熊猫!
看下这个你再不会你打熊猫!
#4
支持
#5
帮顶,关注
#6
有多稀烂....
#7
先绑定一级再绑定二级 然后循环ddl 取出每个一级菜单的id 再去数据库查它的二级 把查到的二级菜单insert到一级后就ok了 就这么简单
#8
前台代码
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="上海" Value="上海"></asp:TreeNode>
<asp:TreeNode Text="长沙" Value="长沙"></asp:TreeNode>
<asp:TreeNode Text="北京" Value="北京"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
//模拟数据
DataTable dt = new DataTable();
dt.Columns.Add("city");
for (int i = 0; i < 10; i++)
{
DataRow row = dt.NewRow();
if (i % 1 == 0)
{
row["city"] = "长沙";
}
if (i % 2 == 0)
{
row["city"] = "北京";
}
if (i % 3 == 0)
{
row["city"] = "上海";
}
dt.Rows.Add(row);
}
//构建二次节点
foreach(DataRow row in dt.Rows)
{
foreach (TreeNode n in this.TreeView1.Nodes)
{
if (row["city"].ToString() == n.Text)
{
ConstructNode(n, row["city"].ToString());
continue;
}
}
}
}
void ConstructNode(TreeNode node,string value)
{
TreeNode n = new TreeNode(value);
node.ChildNodes.Add(n);
}
------根据自己的结构作调整。
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="上海" Value="上海"></asp:TreeNode>
<asp:TreeNode Text="长沙" Value="长沙"></asp:TreeNode>
<asp:TreeNode Text="北京" Value="北京"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
//模拟数据
DataTable dt = new DataTable();
dt.Columns.Add("city");
for (int i = 0; i < 10; i++)
{
DataRow row = dt.NewRow();
if (i % 1 == 0)
{
row["city"] = "长沙";
}
if (i % 2 == 0)
{
row["city"] = "北京";
}
if (i % 3 == 0)
{
row["city"] = "上海";
}
dt.Rows.Add(row);
}
//构建二次节点
foreach(DataRow row in dt.Rows)
{
foreach (TreeNode n in this.TreeView1.Nodes)
{
if (row["city"].ToString() == n.Text)
{
ConstructNode(n, row["city"].ToString());
continue;
}
}
}
}
void ConstructNode(TreeNode node,string value)
{
TreeNode n = new TreeNode(value);
node.ChildNodes.Add(n);
}
------根据自己的结构作调整。
#1
如果你数据库里结构好的话,可以一次性把树构建出来。就是递归的运用
#2
数据库稀烂的,
#3
http://www.cnblogs.com/kingfly/archive/2009/09/21/1571016.html
看下这个你再不会你打熊猫!
看下这个你再不会你打熊猫!
#4
支持
#5
帮顶,关注
#6
有多稀烂....
#7
先绑定一级再绑定二级 然后循环ddl 取出每个一级菜单的id 再去数据库查它的二级 把查到的二级菜单insert到一级后就ok了 就这么简单
#8
前台代码
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="上海" Value="上海"></asp:TreeNode>
<asp:TreeNode Text="长沙" Value="长沙"></asp:TreeNode>
<asp:TreeNode Text="北京" Value="北京"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
//模拟数据
DataTable dt = new DataTable();
dt.Columns.Add("city");
for (int i = 0; i < 10; i++)
{
DataRow row = dt.NewRow();
if (i % 1 == 0)
{
row["city"] = "长沙";
}
if (i % 2 == 0)
{
row["city"] = "北京";
}
if (i % 3 == 0)
{
row["city"] = "上海";
}
dt.Rows.Add(row);
}
//构建二次节点
foreach(DataRow row in dt.Rows)
{
foreach (TreeNode n in this.TreeView1.Nodes)
{
if (row["city"].ToString() == n.Text)
{
ConstructNode(n, row["city"].ToString());
continue;
}
}
}
}
void ConstructNode(TreeNode node,string value)
{
TreeNode n = new TreeNode(value);
node.ChildNodes.Add(n);
}
------根据自己的结构作调整。
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="上海" Value="上海"></asp:TreeNode>
<asp:TreeNode Text="长沙" Value="长沙"></asp:TreeNode>
<asp:TreeNode Text="北京" Value="北京"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
//模拟数据
DataTable dt = new DataTable();
dt.Columns.Add("city");
for (int i = 0; i < 10; i++)
{
DataRow row = dt.NewRow();
if (i % 1 == 0)
{
row["city"] = "长沙";
}
if (i % 2 == 0)
{
row["city"] = "北京";
}
if (i % 3 == 0)
{
row["city"] = "上海";
}
dt.Rows.Add(row);
}
//构建二次节点
foreach(DataRow row in dt.Rows)
{
foreach (TreeNode n in this.TreeView1.Nodes)
{
if (row["city"].ToString() == n.Text)
{
ConstructNode(n, row["city"].ToString());
continue;
}
}
}
}
void ConstructNode(TreeNode node,string value)
{
TreeNode n = new TreeNode(value);
node.ChildNodes.Add(n);
}
------根据自己的结构作调整。