您的位置:首页 > 其它

利用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
--------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: