用到樹,自然而然要想到遞迴
下面的例子是帶checkbox的treeview,根據datasource中的isvisible欄位來確定是否勾選
載入,構造樹形結構:
private void bindtree()
}private void filltree(treenode node, datatable dt)
node.nodes.add(tnn);}}
}
勾選某個節點checkbox後的聯動處理
private void treeview1_aftercheck(object sender, treevieweventargs e)
void updateallparentnodescheck(treenode treenode)
else if(!pnt.checked&&treenode.checked)//父節點未選中,子節點擊中
}if(allcheck) //該父節點所有子節點都選中了}}
}void updateallchildnodescheck(treenode treenode)
}}
最後對比資料來源獲取更新了的節點,形成sql:
listsallsql = new list(255);
private listgetupdatesql(treenode tnode)
'", n.tag.tostring()));
if (adr.length > 0)
.tab set isvisible='' where id=''",
suser, scheck, n.tag.tostring()));
if (n.nodes.count > 0)
}else if (n.nodes.count > 0)
getupdatesql(n);}}
else if (n.nodes.count > 0)
getupdatesql(n);
}return sallsql;
}
C TreeView元件的常用操作
c treeview元件的一些其他常用操作 1.展開所有節點 展開樹的所有節點 treeview1.expandall treeview1.selectednode.expand 3.摺疊所有節點 摺疊所有節點和展開所有節點是一組互操作,具體實現的思路也大致相同,摺疊所有節點也是首先要把選定的節點指...
c treeView 繫結集合
public static listconverttotreeviewdata 向treeview填充資料 要填充的資料 最高類別的父類別 public static bool insertdatatotreeview treeview treeview,listtreedatas,int pid ...
C TreeView 節點查詢
主窗體部分 遍歷樹節點,並將節點存入list集合中 public void getallnodes treenodecollection nodecollection,listnodelist 查詢 private void b ir click object sender,eventargs e ...