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 | 否 | 否 | 是 | 介绍 |
字段名 | 数据类型 | 主键 | 外键 | 非空 | 含义 |
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 ,