C#TreeView 無限級別分類實(shí)現(xiàn)方法
做分類 經(jīng)常會用到無限級別的分類 先介紹一下數(shù)據(jù)庫的表結(jié)構(gòu)

tid 類別編號
tname 類別名稱
pid 父類編號
測試數(shù)據(jù)就不寫了,大家可以自己插入一下試試
查詢制定類別的 所有的子類 sql 的 代碼
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 上面
/// <summary>
/// 給Tree 綁定數(shù)據(jù) 遞歸添加子節(jié)點(diǎn)
/// </summary>
/// <param name="dv">數(shù)據(jù)視圖</param>
/// <param name="tnOld">添加數(shù)據(jù)的節(jié)點(diǎn)</param>
public void TreeDataBind(DataView dv,TreeNode tnOld)
{
TreeNode tnNew; //創(chuàng)建一個新的節(jié)點(diǎn)
foreach (DataRowView drv in dv)
{
//為新的借點(diǎn)設(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)用的方法很簡單
DataTable dtRet = (DataTable)dh.ExecProcRetObj(ep);
DataView dv = new DataView(dtRet);
dv.RowFilter = "pid=0";
TreeDataBind(dv, this.treeView1.Nodes.Add("商品類別"));
效果
- C# TreeView控件使用代碼
- C# TreeView讀取數(shù)據(jù)庫簡單實(shí)例
- c# TreeView添加右鍵快鍵菜單有兩種方法
- js獲取Treeview選中的節(jié)點(diǎn)(C#選中CheckBox項(xiàng))
- c#的treeview綁定和獲取值的方法
- C#實(shí)現(xiàn)treeview綁定的方法
- C#自定義DataGridViewColumn顯示TreeView
- C#實(shí)現(xiàn)TreeView節(jié)點(diǎn)拖拽的方法
- C#中TreeView實(shí)現(xiàn)適合兩級節(jié)點(diǎn)的選中節(jié)點(diǎn)方法
- C#搜索TreeView子節(jié)點(diǎn),保留父節(jié)點(diǎn)的方法
- C# TreeView無限目錄樹實(shí)現(xiàn)方法
相關(guān)文章
C#創(chuàng)建及訪問網(wǎng)絡(luò)硬盤的實(shí)現(xiàn)
本文主要介紹了C#創(chuàng)建及訪問網(wǎng)絡(luò)硬盤的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
WPF調(diào)用WindowsAPI實(shí)現(xiàn)屏幕錄制
這篇文章主要為大家詳細(xì)介紹了WPF如何調(diào)用WindowsAPI實(shí)現(xiàn)屏幕錄制,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下2023-05-05
C# DataTable.Select()根據(jù)條件篩選數(shù)據(jù)問題
這篇文章主要介紹了C# DataTable.Select()根據(jù)條件篩選數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
C#內(nèi)置隊(duì)列類Queue用法實(shí)例
這篇文章主要介紹了C#內(nèi)置隊(duì)列類Queue用法,實(shí)例分析了C#內(nèi)置隊(duì)列的添加、移除等相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04

