爱问知识人 爱问教育 医院库

ASP.NET中怎么使用树形控件绑定从数据库读取的数据?

首页

ASP.NET中怎么使用树形控件绑定从数据库读取的数据?


        

提交回答

全部答案

    2018-04-25 01:59:17
  •   create database TreeView
    go
    use Treeview
    create table node1
    (
    nd1id int primary key,
    nd1name varchar(32)
    )
    create table node2
    (
    nd2id int primary key,
    nd1id int,
    nd2name varchar(32)
    )
    create table node3
    (
    nd3id int primary key,
    nd2id int,
    nd3name varchar(32)
    )
    insert node1 values(0,'node1_1')
    insert node1 values(1,'node1_2')
    insert node1 values(2,'node1_3')
    insert node1 values(3,'node1_4')
    insert node2 values(0,0,'node2_1')
    insert node2 values(1,0,'node2_2')
    insert node2 values(2,1,'node2_3')
    insert node2 values(3,1,'node2_4')
    insert node2 values(4,2,'node2_5')
    insert node2 values(5,3,'node2_6')
    insert node2 values(6,2,'node2_7')
    insert node3 values(0,0,'node3_1')
    insert node3 values(1,0,'node3_2')
    insert node3 values(2,1,'node3_3')
    insert node3 values(3,2,'node3_4')
    insert node3 values(4,1,'node3_5')
    insert node3 values(5,3,'node3_6')
    insert node3 values(6,5,'node3_7')
    insert node3 values(7,6,'node3_8')
    insert node3 values(8,3,'node3_9')
    insert node3 values(9,4,'node3_10')
    insert node3 values(10,5,'node3_11')
    VS代码
    void PopulateCategories(TreeNode node)
    ?? {
    ?? string sql = "Select nd1name, nd1id From node1";
    ?? DataSet resultSet;
    ?? resultSet = Getdataset(sql, null);
    ?? if (resultSet。
      Tables。Count > 0)
    ?? {
    ?? foreach (DataRow row in resultSet。Tables[0]。Rows)
    ?? {
    ?? TreeNode NewNode = new TreeNode(row["nd1name"]。
      ToString(), row["nd1id"]。ToString());
    ?? NewNode。PopulateOnDemand = true;
    ?? NewNode。
      SelectAction = TreeNodeSelectAction。Expand;
    ?? node。ChildNodes。Add(NewNode);
    ?? }
    ?? }
    ?? }
    ?? void PopulateProducts(TreeNode node)
    ?? {
    ?? string sql = "Select nd2name,nd2id From node2 " " Where nd1id = @id";
    ?? SqlParameter para = new SqlParameter("@id", SqlDbType。
      Int);
    ?? para。Value = node。Value;
    ?? //sqlQuery。Parameters。Add("@id", SqlDbType。Int)。Value = node。
      Value;
    ?? DataSet ResultSet = Getdataset(sql, para);
    ?? if (ResultSet。Tables。Count > 0)
    ?? {
    ?? foreach (DataRow row in ResultSet。
      Tables[0]。Rows)
    ?? {
    ?? TreeNode NewNode = new TreeNode(row["nd2name"]。ToString(), row["nd2id"]。
      ToString());
    ?? NewNode。PopulateOnDemand = true;
    ?? NewNode。SelectAction = TreeNodeSelectAction。
      Expand;
    ?? node。ChildNodes。Add(NewNode);
    ?? }
    ?? }
    ?? }
    ?? void PopulateProducts1(TreeNode node)
    ?? {
    ?? string sql = "Select nd3name,nd3id From node3 " " Where nd2id = @id";
    ?? SqlParameter para = new SqlParameter("@id", SqlDbType。
      Int);
    ?? para。Value = node。Value;
    ?? //sqlQuery。Parameters。Add("@id", SqlDbType。Int)。Value = node。
      Value;
    ?? DataSet ResultSet = Getdataset(sql, para);
    ?? if (ResultSet。Tables。Count > 0)
    ?? {
    ?? foreach (DataRow row in ResultSet。
      Tables[0]。Rows)
    ?? {
    ?? TreeNode NewNode = new TreeNode(row["nd3name"]。ToString(), row["nd3id"]。
      ToString());
    ?? NewNode。PopulateOnDemand = false;
    ?? NewNode。SelectAction = TreeNodeSelectAction。
      SelectExpand;
    ?? node。ChildNodes。Add(NewNode);
    ?? }
    ?? }
    ?? }
    ?? private DataSet Getdataset(string sql,SqlParameter paralist)
    ?? {
    ?? string strconn = "database=treeview;server=。
      ;Integrated Security=SSPI";
    ?? SqlConnection conn = new SqlConnection(strconn);
    ?? SqlCommand cmd = new SqlCommand();
    ?? if (paralist != null)
    ?? {
    ?? cmd。
      Parameters。Add(paralist);
    ?? ??
    ?? }
    ?? cmd。CommandText = sql;
    ?? cmd。
      Connection = conn;
    ?? SqlDataAdapter da = new SqlDataAdapter(cmd);
    ?? DataSet ds = new DataSet();
    ?? da。
      Fill(ds);
    ?? return ds;
    ?? }
    ?? protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
    ?? {
    ?? if (e。
      Node。ChildNodes。Count == 0)
    ?? {
    ?? switch (e。Node。Depth)
    ?? {
    ?? case 0:
    ?? PopulateCategories(e。
      Node);
    ?? break;
    ?? case 1:
    ?? PopulateProducts(e。
      Node);
    ?? break;
    ?? case 2:
    ?? PopulateProducts1(e。
      Node);
    ?? break;
    ?? ??
    ?? ??
    ?? }
    ?? }
    ?? }
    ?? protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    ?? {
    ?? Response。
      Write("adfdf");
    ?? }
    ?? protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
    ?? {
    ?? //Response。
      Write("adfdf");
    ?? }。

    王***

    2018-04-25 01:59:17

类似问题

换一换
  • 数据库 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 170-189
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):