动态生成 TreeView

王朝other·作者佚名  2006-12-03
窄屏简体版  字體: |||超大  

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

BindTreeView(TreeView1);

}

}

private void BindTreeView(TreeView treeview)

{

//string sql = "select * from T_ZSD where course_id="+Session["Course_id"].ToString();

string sql = "select * from T_ZSD where course_id=13";

DataSet ds = DbHelperSQL.Query(sql);

DataTable dt = ds.Tables[0];

treeview.Nodes.Clear();

//创建根节点

DataRow[] parentrow = dt.Select("parentid=0");

TreeNode rootnode = new TreeNode();

rootnode.Text = parentrow[0][2].ToString() ;

rootnode.Value = parentrow[0][0].ToString();//主键的值

rootnode.Expanded = true;

rootnode.Selected = true;

treeview.Nodes.Add(rootnode);

CreateChildNode(rootnode,dt);

}

private void CreateChildNode(TreeNode parentNode,DataTable datatable)

{

DataRow[] rowlist = datatable.Select("parentid="+parentNode.Value);

foreach (DataRow row in rowlist)

{

//创建新节点

TreeNode node = new TreeNode();

node.Value = row["PK_ZSD"].ToString();

node.Text = row["zsd_name"].ToString();

node.Expanded = true;

parentNode.ChildNodes.Add(node);

CreateChildNode(node, datatable); //递归调用,寻找自身的子节点

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航