回博友关于treeview绑定的问题,刚好以前做过一个,就拿出代码share一下。
问题地址:http://www.cnblogs.com/ninetynine/archive/2007/08/08/847847.html
环境:我的是一个产品表,目录和产品都在一个表里,有一个字段来表示是产品还是目录。
代码如下:
PageLoad部分:
问题地址:http://www.cnblogs.com/ninetynine/archive/2007/08/08/847847.html
环境:我的是一个产品表,目录和产品都在一个表里,有一个字段来表示是产品还是目录。
代码如下:
PageLoad部分:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sql = "select id,name,parentid from [product] where isproduct='0' and id<>0";
dt = SqlHelper.ExecuteDataset(sql).Tables[0];
InitTreeAll();
}
}
{
if (!IsPostBack)
{
string sql = "select id,name,parentid from [product] where isproduct='0' and id<>0";
dt = SqlHelper.ExecuteDataset(sql).Tables[0];
InitTreeAll();
}
}
实际构建treeview方法:
1private void InitTreeAll()
2 {
3 TreeNode tmpNd;
4 DataRow[] rows = dt.Select("ParentID=" + "0 and id<>0");
5 foreach (DataRow dr in rows)
6 {
7 tmpNd = new TreeNode(dr["name"].ToString(), dr["id"].ToString());
8 Product_tree.Nodes.Add(tmpNd);
9 tmpNd.Expanded = true;
10 DataRow[] rowss = dt.Select("parentid = " + dr["id"].ToString());
11 foreach (DataRow drr in rowss)
12 {
13 tmpNd.ChildNodes.Add(new TreeNode(drr["name"].ToString(), drr["id"].ToString(),"","UI/productlist.aspx?id="+drr["id"].ToString(),"_blank"));
14 tmpNd.Expanded = true;
15 }
16 }
17 Product_tree.ExpandAll();
18 }
2 {
3 TreeNode tmpNd;
4 DataRow[] rows = dt.Select("ParentID=" + "0 and id<>0");
5 foreach (DataRow dr in rows)
6 {
7 tmpNd = new TreeNode(dr["name"].ToString(), dr["id"].ToString());
8 Product_tree.Nodes.Add(tmpNd);
9 tmpNd.Expanded = true;
10 DataRow[] rowss = dt.Select("parentid = " + dr["id"].ToString());
11 foreach (DataRow drr in rowss)
12 {
13 tmpNd.ChildNodes.Add(new TreeNode(drr["name"].ToString(), drr["id"].ToString(),"","UI/productlist.aspx?id="+drr["id"].ToString(),"_blank"));
14 tmpNd.Expanded = true;
15 }
16 }
17 Product_tree.ExpandAll();
18 }
实际绑定效果请参看:http://www.over-value.com 左边的产品列表效果,我做的是一个用户控件。