首页  ·  知识 ·  云计算
在DropDownList中显示树形结构
兴百放  本站原创  综合  编辑:dezai  图片来源:网络
CREATE PROCEDURE sp_Column_List ASSELECT Column_ID, Column_Name, Parent_ID, Column_Path, Column_Depth, &

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
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读