国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#TreeView 無限級別分類實現(xiàn)方法

2020-01-24 03:30:22
字體:
供稿:網(wǎng)友

做分類 經(jīng)常會用到無限級別的分類  先介紹一下數(shù)據(jù)庫的表結(jié)構(gòu)

tid  類別編號

tname 類別名稱

pid 父類編號

測試數(shù)據(jù)就不寫了,大家可以自己插入一下試試

查詢制定類別的 所有的子類   sql 的 代碼

復(fù)制代碼 代碼如下:

alter proc  proc_chaxun
(@tid int )
as
begin 

   
    with tt  as
    (

        select tid,tname,pid from dbo.t_goodsType where tid=@tid
        union all
        select t.tid,t.tname,t.pid from dbo.t_goodsType  t inner join tt
        on t.pid=tt.tid
    )
    select * from tt
end

查詢之后獲取記錄集   綁定到前臺的 TreeView 上面

復(fù)制代碼 代碼如下:

 /// <summary>
            /// 給Tree 綁定數(shù)據(jù) 遞歸添加子節(jié)點
            /// </summary>
            /// <param name="dv">數(shù)據(jù)視圖</param>
            /// <param name="tnOld">添加數(shù)據(jù)的節(jié)點</param>
            public void TreeDataBind(DataView dv,TreeNode tnOld)
            {
                TreeNode tnNew;    //創(chuàng)建一個新的節(jié)點
                foreach (DataRowView drv in dv)
                {
                    //為新的借點設(shè)置屬性
                    tnNew = tnOld.Nodes.Add(drv["tname"].ToString());
                    tnNew.Tag = drv["tid"];
                    //過濾數(shù)據(jù)視圖 父類id = 上一級的tid
                    dv.RowFilter = "pid=" + drv["tid"].ToString();
                    //自己調(diào)用自己
                    TreeDataBind(dv, tnNew);
                }
            }

調(diào)用的方法很簡單

復(fù)制代碼 代碼如下:

DataTable dtRet = (DataTable)dh.ExecProcRetObj(ep);
DataView dv = new DataView(dtRet);
 dv.RowFilter = "pid=0";
TreeDataBind(dv, this.treeView1.Nodes.Add("商品類別"));

效果

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁化县| 定西市| 湖北省| 抚远县| 东平县| 本溪市| 乌拉特中旗| 青浦区| 武鸣县| 巴彦县| 晋中市| 万全县| 上高县| 邢台市| 双柏县| 闵行区| 陆河县| 岑巩县| 教育| 三门县| 兴安县| 延长县| 柏乡县| 图木舒克市| 洪江市| 化州市| 龙山县| 长春市| 云和县| 虹口区| 东兰县| 昔阳县| 镇雄县| 商河县| 沙河市| 辛集市| 清徐县| 婺源县| 揭东县| 苍山县| 郁南县|