利用TreeView控件动态生成无限级树
2009-01-06 22:19
489 查看
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TreeNode rootnode = new TreeNode();
rootnode.Text = "无限级菜单";
rootnode.Expanded = true;
TreeView1.Nodes.Add(rootnode);
CreateNode(0, rootnode);
}
}
void CreateNode(int id,TreeNode rootnode)
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyOA;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from tree where belong="+id;
DataSet ds = new DataSet();
SqlDataAdapter sa = new SqlDataAdapter();
sa.SelectCommand = cmd;
sa.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
TreeNode node = new TreeNode();
node.Expanded = true;
node.Text = dr["text"].ToString();
node.ShowCheckBox = true;
int treeid= int.Parse(dr["id"].ToString().Trim());
rootnode.ChildNodes.Add(node);
CreateNode(treeid, node);
}
}
}
数据库里的数据格式是这样的
--------------------------------------------------------
id text belong
1 aaaa 0
2 bbbb 0
3 cccc 0
4 dddd 1
5 eeee 2
6 ffff 4
--------------------------------------------------------
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TreeNode rootnode = new TreeNode();
rootnode.Text = "无限级菜单";
rootnode.Expanded = true;
TreeView1.Nodes.Add(rootnode);
CreateNode(0, rootnode);
}
}
void CreateNode(int id,TreeNode rootnode)
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MyOA;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from tree where belong="+id;
DataSet ds = new DataSet();
SqlDataAdapter sa = new SqlDataAdapter();
sa.SelectCommand = cmd;
sa.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
TreeNode node = new TreeNode();
node.Expanded = true;
node.Text = dr["text"].ToString();
node.ShowCheckBox = true;
int treeid= int.Parse(dr["id"].ToString().Trim());
rootnode.ChildNodes.Add(node);
CreateNode(treeid, node);
}
}
}
数据库里的数据格式是这样的
--------------------------------------------------------
id text belong
1 aaaa 0
2 bbbb 0
3 cccc 0
4 dddd 1
5 eeee 2
6 ffff 4
--------------------------------------------------------
相关文章推荐
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)(转)
- 利用TreeView控件动态生成无限级树(转)
- 利用TreeView控件动态生成无限级树
- [网络收集]读取XML 利用TreeView控件动态生成无限级树
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)
- 利用TreeView控件动态生成无限级树(转)
- 利用TreeView控件动态生成无限级树
- 利用.net 2.0中的TreeView控件与数据库绑定,生成无限级的树目录
- 利用.net 2.0中的TreeView控件与数据库绑定,生成无限级的树目录
- VS2005利用TreeView控件和递归函数从数据库动态生成树状菜单
- 利用TreeView控件动态生成无限级树
- 利用TreeView控件动态生成无限极树形结构(转为了明天)
- VS2005利用TreeView控件和递归函数动态生成树状菜单
- nginx利用image_filter动态生成缩略图
- 利用UrlRewrite,asp.net动态生成htm页面
- java优化Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句
- Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句
- 如何利用ASP.NET技术动态生成HTML页面
- 利用Django中的url方法实现地址动态拼接自动生成超链接地址