国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 衡阳县| 双鸭山市| 汕头市| 江阴市| 孟连| 贵州省| 子长县| 惠州市| 曲周县| 三明市| 开远市| 平舆县| 石河子市| 邹城市| 拜城县| 繁昌县| 济南市| 泰顺县| 法库县| 体育| 鹤庆县| 苏尼特左旗| 新绛县| 海原县| 尉氏县| 平安县| 杭锦后旗| 辽中县| 繁昌县| 额尔古纳市| 常山县| 信阳市| 宁南县| 嘉义市| 朝阳区| 宜宾县| 海伦市| 南丹县| 保亭| 长宁区| 阿城市|