C#实现TreeView节点点击触发事件

来源:百度知道 编辑:UC知道 时间:2024/06/12 16:53:39
public partial class _Default : System.Web.UI.Page
{
SqlConnection conne = new SqlConnection("data source=.;initial catalog=sy;integrated security=sspi");
DataSet datast = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)//在不加这一句之前,每次刷新一下页面,就会多一个树控件出来,一直叠加.加了这一句之后,就不会重复加载了.
{
conne.Open();
this.createDataSet();
conne.Close();
this.InitTree(TreeView1.Nodes, "0");
conne.Close();
}
private DataSet createDataSet()//返回数据库表
{
datast = new DataSet();
string sqlStr = "select * from Tree ";
SqlDataAdapter cmdSelect = new SqlDataAdapter(sqlStr,conne);
cmdSelect.Fill(datast, "Tree");
return datast;
}

protected void InitTree(TreeNodeCollection Nds, string

那你把你想做链接的那一列设成模板列,在里面添加一个Linkbutton,把LinkButton的值等于你的数据库中的值就OK了.

if (!Page.IsPostBack)//在不加这一句之前,每次刷新一下页面,就会多一个树控件出来,一直叠加.加了这一句之后,就不会重复加载了.

IsPostBack是一个十分重要的方法,表示页面是否为第一次加载...

tmpNode.NavigateUrl=drv["Url"].ToString()//设置节点的超链接
tmpNode.Target=drv["Target"].ToString()//设置节点的Target,可以使一个iframe得name属性的值

不需要判断是哪个节点啊,因为你的链接url存在了数据库里面,每个url本来就对应着某个特定的节点啊

其实不是点击节点触发,而是在节点展开的时候触发,按照这个思路去找,记得TreeView里有这个事件