.net 2.0中的TreeView控件与数据库绑定

翻译|其它|编辑:郝浩|2008-06-25 09:55:03.000|阅读 1844 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.MasterPage
{
  protected string _connstr = "server=.;
  user=sa;
  pwd=sa;
  database=BSTTOS";
  protected void Page_Load(object sender, EventArgs e)
  {
    if(!Page.IsPostBack)
    {
      BindTree();
      using(SqlConnection _conn=new SqlConnection(_connstr))
      {
        SqlCommand _comm = new SqlCommand("select * from treeview",_conn);
        _conn.Open();
        using(SqlDataReader r=_comm.ExecuteReader())
        {
          while(r.Read())
          {
            ListItem item = new ListItem(r["txt"].ToString(), r["id"].ToString());
            this._dd_parent.Items.Add(item);
          }
        }
      }
    }
  }
  protected void BindTree()
  {
    TreeNode node = new TreeNode(); //这里是创建一个根节点,就是dome中看到的Root
    node.Text = "根节点";
    CreateChildTree(node, 0);
    _tree_view.Nodes.Add(node);
  }
  protected void CreateChildTree(TreeNode _parentNode, int _parentID)
  {
    using (SqlConnection _conn = new SqlConnection(_connstr))
    {
      SqlCommand _comm = new SqlCommand();
      string sql = "select * from treeview where rootid=@rootid";
      _comm.Parameters.Add("@rootid", SqlDbType.Int).Value = _parentID;
      _comm.CommandText = sql;
      _comm.Connection = _conn;
      _conn.Open();
      using (SqlDataReader r = _comm.ExecuteReader())
      {
        while (r.Read())
        {
          TreeNode _node = new TreeNode(r["txt"].ToString());
          CreateChildTree(_node, (int)r["ID"]); //递归出子节点
          _parentNode.ChildNodes.Add(_node);
        }
      }
    }
  }

  protected void _btn_submit_Click1(object sender, EventArgs e)
  {
    int _rootid = Convert.ToInt16(this._dd_parent.SelectedValue);
    string _txt = this._txt_txt.Text.Trim();
    using (SqlConnection _conn = new SqlConnection(_connstr))
    {
      SqlCommand _comm = new SqlCommand("insert into treeview (txt,rootid) values (@txt,@id)", _conn);
      _comm.Parameters.Add("@txt", SqlDbType.VarChar, 50).Value = _txt;
      _comm.Parameters.Add("@id", SqlDbType.Int).Value = _rootid;
      _conn.Open();
      _comm.ExecuteNonQuery();
    }
    this._tree_view.Nodes.Clear();
    BindTree();

  }
}

//_dd_parent是一个dropdownlist控件 //_txt_txt是个textbox
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:CSDN

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP