当前位置:编程学习 > asp >>

TreeView控件的绑定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Web;
using System.Web.UI.WebControls;
using DAL;
using Model;
 
namespace BLL
{
    public class VarityManage
    {
        //获得根结点信息
        public static List<PNode> GetPNode()
        {
            return DAL.ListTreeNode.GetPNode(); 
 
        }
        //获得叶结点信息
        public static List<Node> GetNode(int pnode_id)
        {
            return DAL.ListTreeNode.GetNode(pnode_id);
        }
 
    }
}
 
关于TreeView控件的绑定,在网上查了很多资料,练习了在两种情况下的绑定,一种是在网页后台直接绑定,一种是在三层架构中绑定。
 
数据库表的设计

 商品小类表(tb_type)
字段名 数据类型 主键 外键 非空 含义
type_id int 小类编号
type_name nvarchar(50) 小类名称
category_id int 大类编号
intro text 介绍
 商品大类表(tb_ category)
字段名 数据类型 主键 外键 非空 含义
category_id int 大类编号
category_name varchar(255) 大类名称
intro text 介绍
 
网页后台直接绑定:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable dtFather=exe_Table("server=localhost;user id=root;password=root;database=em", "select distinct tb_category.category_id,tb_category.category_name FROM   tb_category");
            foreach(DataRow dr in dtFather.Rows)
            {
                 
                TreeNode tn = new TreeNode();
                tn.Value = dr["category_id"].ToString();
                tn.Text = dr["category_name"].ToString();
                TreeView1.Nodes.Add(tn);
                DataTable dtChild = exe_Table("server=localhost;user id=root;password=root;database=em",
                    "select type_id,type_name,category_id from tb_type where tb_type.category_id=" + dr["category_id"].ToString());
                foreach (DataRow drChild in dtChild.Rows)
                {
                    TreeNode tnChild = new TreeNode();
                    tnChild.Value = drChild["type_id"].ToString();//节点的Value值,一般为数据库的id值
                    tnChild.Text = drChild["type_name"].ToString();//节点的Text,节点的文本显示
                    tn.ChildNodes.Add(tnChild);
                }
 
            }
        }
    }
 
 
 
          /// <summary>
        /// 取出数据库中数据,生成DataTable
        /// </summary>
        /// <param name="str_Con">数据库连接</param>
        /// <param name="str_Cmd">sql语句</param>
        /// <returns></returns>
        private DataTable exe_Table(string str_Con,string str_Cmd)
        {
            DataSet ds = new DataSet();
            using (MySqlConnection conn = new MySqlConnection(str_Con))<

补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,