表B中的Aid对应着表A中的id,也就是它的子节点,怎么把这个关系绑定到treeview,说具体点,谢谢
解决方案 »
- 我想使用AspNetPager分页控件,请问试图和存储过程怎么写
- asp.net 操作serv-u 动态创建FTP服务器
- B/S 模式下的应用开发 问题不少,可我的分不多,还希望达人们多多赐教
- [求助]在ASP.Net环境调用VC++写的ActiveX控件问题。。。
- treeview的节点添加多个checkbox?
- 请教checkboxlist如何添加Validation
- 关于一个datagrid的问题
- 如何过滤textbox中输入的类似<table>的标签
- 我定义了一些全局静态变量,如何在各个aspx页面中调用它们?
- 急急急,请班竹、各位大虾帮我看看这个问题
- SQLServer 查询出来的XML如何显示在ASP.NET页面上?
- 请教一个关于jQuery对table的排序问题。
private TreeNode getTreeView1()
{
TreeNode node = new TreeNode();
DataTable dtA = new DataTable(); //这里将A表中的数据搜索大放到dtA表中;
//dtA=.....
//select * from A
if (dtA.Rows.Count > 0)
{
for (int i = 0; i < dtA.Rows.Count; i++)
{
TreeNode node1 = new TreeNode();
node1.Text = dtA.Rows[i]["Name"].ToString();
node1.Value = dtA.Rows[i]["id"].ToString();
DataTable dtB = new DataTable();
//这里将B表中搜索到的数据放到dtB表中;
//dtB=.....
//select * form B where Aid=【dtA.Rows[i]["id"].ToString()】,括号里的是A表的id值,
if (dtB.Rows.Count > 0)
{
for (int j = 0; j < dtB.Rows.Count; j++)
{
TreeNode node2 = new TreeNode();
node2.Text = dtB.Rows[i]["Name"].ToString();
node2.Value = dtB.Rows[i]["id"].ToString();
node1.ChildNodes.Add(node2);
}
node1.Expanded = true;
}
node.ChildNodes.Add(node1);
}
node.Expanded = true;
}
return node;
}在Page_Load事件里写
TreeView1.Nodes.Add(getTreeView1());
应该就可以了,
{
tvmodule.Nodes.Clear();
TreeNode tnp = new TreeNode("所有系统模块", "0");
tnp.Expand();
tvmodule.Nodes.Add(tnp);
for (int i = 0; i < sqlconn .modone().Rows .Count ; i++)
{
TreeNode tn = new TreeNode (sqlconn.modone ().Rows [i][1].ToString (),sqlconn.modone ().Rows [i][0].ToString ());
if (IsPostBack)
{
tn.Expand();
}
tvmodule.Nodes[0].ChildNodes.Add(tn);
for (int j = 0; j < sqlconn.modtwo( Convert .ToInt32( sqlconn.modone().Rows[i][0])).Rows.Count; j++)
{
TreeNode tntwo = new TreeNode(sqlconn.modtwo(Convert.ToInt32(sqlconn.modone().Rows[i][0])).Rows[j][2].ToString(), sqlconn.modtwo(Convert.ToInt32(sqlconn.modone().Rows[i][0])).Rows[j][0].ToString());
tvmodule.Nodes[0].ChildNodes[i].ChildNodes.Add(tntwo);
}
}
} protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
tvbind();
}
}