CREATE PROCEDURE sp_Column_List
AS
SELECT Column_ID, Column_Name, Parent_ID, Column_Path, Column_Depth,
Column_Order, Column_Intro
FROM Tb_Column
ORDER BY Column_Order
GO
===================================================
表结构:
表名:Tb_Column
表结构(所有字段非空):
Column_ID int 主键(注:非标识)
Column_Name nvarchar(50)分类名称
Parent_ID int 父分类ID(默认值0)
Column_Path nvarchar(1000) 分类路径
Column_Depth int分类深度(默认值0)
Column_Order int排序(默认值0)
Column_Intro nvarchar(1000)分类说明
首先创建临时表
// Power By 兴百放
//Create Time 2007-5-23
#region 创建临时表
public static DataTable CreateTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Column_Id",typeof(int)));
dt.Columns.Add(new DataColumn("Column_Name",typeof(string)));
DataRow dr ;
using(SqlDataReader dataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction,CommandType.StoredProcedure,"sp_Column_List"))
{
while(dataReader.Read())
{
dr = dt.NewRow();
dr[0] = Convert.ToInt32(dataReader["Column_Id"]);
string columnName = dataReader["Column_Name"].ToString();
string columnTemp = "";
int columnDepth = Convert.ToInt32(dataReader["Column_Depth"]);
if(columnDepth>1)
{
for(int i = 1;i {
columnTemp +="|--";
}
columnTemp+="|-";
}
dr[1] = columnTemp+columnName ;
dt.Rows.Add(dr);
}
}
return dt;
}
#endregion
下面就是DropDownList绑定了
// Power By //Create Time 2007-5-23
#region 得到分类信息
public static void GetCateInfo(System.Web.UI.WebControls.DataGrid dg)
{
dg.DataSource= SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction,CommandType.StoredProcedure,"sp_Column_List");
dg.DataBind();
}
public static void GetCateInfo(System.Web.UI.WebControls.DropDownList dl)
{
dl.DataSource= Exam.Class.DAL.Category.CreateTable();
dl.DataTextField="Column_Name";
dl.DataValueField = "Column_Id";
dl.DataBind();
}
#endregion
本文作者:兴百放 来源:本站原创
CIO之家 www.ciozj.com 微信公众号:imciow