TreeView从数据库绑定数据

   前几天,在。net QQ群里有人问到Treeview数据绑定,我很好奇,因为我从来没有听说过,treeview也能从数据库里绑定数据。。。。

小弟真是肤浅。。作为一个。net的菜鸟,我也只能虚心学习下。。。

 下面是我自己通过查找资料后,自己做的一个treeview的数据绑定, 有什么意见大家提提,请大家涵涵.....

数据库连接字符串:

ContractedBlock.gif ExpandedBlockStart.gif Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

ExpandedBlockStart.gifContractedBlock.gif
/**//// <summary>
///SQLconn 的摘要说明
/// </summary>

public class SQLconn
ExpandedBlockStart.gifContractedBlock.gif
{
    
public SQLconn()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
//
        
//TODO: 在此处添加构造函数逻辑
        
//
    }

    
public static SqlConnection createConn() 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        SqlConnection con 
= new SqlConnection(@"server=Jimmy\SQLEXPRESS;database=test;uid=sa;pwd=cxj7480326");
        
return con;
    }

}

 

后台代码:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
ExpandedBlockStart.gifContractedBlock.gif
{
    
protected void Page_Load(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
if (!this.IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            bindTreeview(TreeView1);
        }

    }

    
public void dataset(DataSet ds, string tablename, string sqlText)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        SqlConnection con 
= SQLconn.createConn();
        con.Open();
        SqlDataAdapter sda 
= new SqlDataAdapter(sqlText,con);
        sda.Fill(ds, tablename);
    }

    
public void bindTreeview(TreeView TV)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        DataSet ProSet 
= new DataSet();
        
string sqlstr = "select * from Province";
        dataset(ProSet,
"Province",sqlstr);
        
if (ProSet.Tables[0].Rows.Count > 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
for (int i = 0; i < ProSet.Tables[0].Rows.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                TreeNode father 
= new TreeNode();
                father.Value 
= ProSet.Tables[0].Rows[i]["ProId"].ToString();
                father.Text 
= ProSet.Tables[0].Rows[i]["ProName"].ToString();
                father.SelectAction 
= TreeNodeSelectAction.None;


                DataSet ProCity 
= new DataSet();
                sqlstr 
= "select * from City where ProId='"+ ProSet.Tables[0].Rows[i]["ProId"].ToString().Trim()+"'";
                dataset(ProCity, 
"City", sqlstr);
                
if (ProCity.Tables[0].Rows.Count > 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    
for (int m = 0; m < ProCity.Tables[0].Rows.Count; m++)
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
{
                        TreeNode sun 
= new TreeNode();
                        sun.Value 
= ProCity.Tables[0].Rows[m]["CityId"].ToString();
                        sun.Text 
= ProCity.Tables[0].Rows[m]["CityName"].ToString();
                        sun.Selected 
= false;
                        sun.SelectAction 
= TreeNodeSelectAction.None;
                        father.ChildNodes.Add(sun);
                    }


                }


                father.ExpandAll();
                TV.Nodes.Add(father);
            }

        }

 
    }


}

 

前台代码:

< body >
    
< form id = " form1 "  runat = " server " >
    
< div >
        
< asp:TreeView ID = " TreeView1 "  runat = " server " >
        
</ asp:TreeView >
    
</ div >
    
</ form >
</ body >

显示效果:

转载于:https://www.cnblogs.com/JimmyCai/archive/2009/05/04/1449134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值