ASP.NET中treeview与数据库绑定的方法与相关源码

发布时间: 2007-01-25 11:32    作者: 未知    来源: 未知    浏览:    评论

这几天总看到CSDN上有人问到treeview与数据库的绑定问题,刚好这几天也做了个这东西。网上也有讲treeview的文章,可是搜来搜去就那一篇,而且是与access关联的。
下面讲一下实现方法。以下是实现效果。

第一步:VS的WEB开发是没有treeview这个控件的,所以首先要到微软网站(http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/
WebControls/default.asp)上去把控件下下来,网站上有具体的安装方法,只有安装完成才能用此控件。
第二步:数据库设计
直接看截图。下面是数据库的设计。

下面是数据库里面的值。

以下是代码,主要用递归的算法来实现对treeview的node的添加。
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration; 
namespace TestOnline.treeView
{
 
/// <summary>
 
/// treeView1 的摘要说明。
 
/// </summary>

 public class treeView1 : System.Web.UI.Page
 
{
  
protected System.Web.UI.WebControls.DataGrid DataGrid1;
  
protected System.Web.UI.WebControls.TextBox TextBox1;
  
protected System.Web.UI.WebControls.CheckBox CheckBox1;
  
protected System.Web.UI.WebControls.Button Button1;
  
protected Microsoft.Web.UI.WebControls.TreeView TreeView3;
  
public static string url="workstation id=All;packet size=4096;UID=sa;password=;data source=(local);persist security info=True;initial catalog=TestOnline;Max Pool Size=500;Min Pool Size=5";
  
public SqlConnection myConnection=new SqlConnection(url);
  
private void Page_Load(object sender, System.EventArgs e)
  
{
   
// 在此处放置用户代码以初始化页面
   
   
try
   
{
   
    myConnection.Open();
    SqlDataAdapter sda
=new SqlDataAdapter("select * from tbTree",myConnection);
    DataSet ds
=new DataSet();
    sda.Fill(ds);
    
this.ViewState["ds"]=ds;
   }

   
catch(Exception ex)
   
{
    Console.Write(ex);
    Response.Redirect(
"login.aspx");
   }

   
finally
   
{
       myConnection.Close();
   }

   AddTree(
"0", (TreeNode)null);
      
  }

  
Web 窗体设计器生成的代码
  
public void AddTree(string id,TreeNode pNode)
  
{
   DataSet ds
=(DataSet)this.ViewState["ds"];
   DataView dv
=new DataView(ds.Tables[0]);
   dv.RowFilter
="parentId = '"+id +"'";
   
foreach(DataRowView row in dv)
   
{
    TreeNode node
=new TreeNode();
    
if(pNode==null)
     
//说明是根节点
    {
     node.Text
=row["content"].ToString();
     TreeView3.Nodes.Add(node);
     node.Expanded
=true;
     
//AddTree(Int32.Parse(row["ID"].ToString()),node);
    AddTree(row["ID"].ToString(),node);
    }

    
else
    
{
     node.Text
=row["content"].ToString();
     pNode.Nodes.Add(node);
     node.Expanded
=true;
     
//AddTree(Int32.Parse(row["ID"].ToString()),node);
     AddTree(row["ID"].ToString(),node);
    }

   }

  }

  
 
 }

}
 


TAG

Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多