欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2013年04月01日 09:10:53   作者:  
C#TreeView 無限級別分類實現(xiàn)方法

做分類 經(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("商品類別"));

效果

相關(guān)文章

  • C#中LINQ的Select與SelectMany函數(shù)使用

    C#中LINQ的Select與SelectMany函數(shù)使用

    這篇文章主要介紹了C#中LINQ的Select與SelectMany函數(shù)使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 關(guān)于Unity C# Mathf.Abs()取絕對值性能測試詳解

    關(guān)于Unity C# Mathf.Abs()取絕對值性能測試詳解

    這篇文章主要給大家介紹了關(guān)于Unity C# Mathf.Abs()取絕對值性能測試的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Unity C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • C#操作RabbitMQ的完整實例

    C#操作RabbitMQ的完整實例

    這篇文章主要為大家詳細(xì)介紹了C#操作RabbitMQ的完整實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C#畫筆使用復(fù)合數(shù)組繪制單個矩形的方法

    C#畫筆使用復(fù)合數(shù)組繪制單個矩形的方法

    這篇文章主要介紹了C#畫筆使用復(fù)合數(shù)組繪制單個矩形的方法,涉及C#使用畫筆繪制圖形的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 詳解C#中String.ToCharArray方法的使用

    詳解C#中String.ToCharArray方法的使用

    這篇文章主要為大家詳細(xì)介紹了C#中String.ToCharArray方法的使用的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • WPF實現(xiàn)自定義Panel面板的示例詳解

    WPF實現(xiàn)自定義Panel面板的示例詳解

    WPF中的Panel(面板),是繼承自FrameworkElement的抽象類,表示一個可以用來排列子元素的面板,本文主要來和大家聊聊WPF如何實現(xiàn)自定義Panel,感興趣的可以了解下
    2023-09-09
  • C#學(xué)習(xí)教程之Socket的簡單使用

    C#學(xué)習(xí)教程之Socket的簡單使用

    這篇文章主要給大家介紹了關(guān)于C#學(xué)習(xí)教程之Socket的簡單使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 基于WPF手寫一個簡單的消息對話框

    基于WPF手寫一個簡單的消息對話框

    消息對話框是UI界面中不可或缺的組成部分,用于給用戶一些提示,警告或者詢問的窗口,本文將使用WPF手寫一個簡單的消息對話框,感興趣的小伙伴可以了解下
    2023-12-12
  • Unity?UGUI的Text文本組件使用示例

    Unity?UGUI的Text文本組件使用示例

    這篇文章主要為大家介紹了Unity?UGUI的Text文本組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • C#處理datagridview虛擬模式的方法

    C#處理datagridview虛擬模式的方法

    這篇文章主要介紹了C#處理datagridview虛擬模式的方法,實例分析了C#中datagridview的使用技巧,需要的朋友可以參考下
    2015-06-06

最新評論