我們在asp.net程式設計中, 經常需要遍歷乙個web控制項的子控制項 ,找到所需的控制項並獲取控制項中相應的值。以前我都是採用迴圈的方式遍歷子控制項,但當子控制項是複雜的樹形結構,比如:子控制項也有子控制項,子控制項的子控制項也有子控制項。這時如果用迴圈的方式,就要用巢狀迴圈,而有時我們很難確定我們所要找的控制項在子控制項樹的哪一層,昨天我就為些付出了代價,因為乙個控制項在內部增加了panel控制項,並將它的子控制項移到了panel控制項上,我通過迴圈怎麼也找不到所需的控制項。 既然子控制項表現為乙個樹形結構,為什麼我不用遞迴去遍歷子控制項?當我看著不太優雅的巢狀迴圈**時,我突然這樣想到。使用遞迴,根本不用關心所需的控制項在哪一層,而且**簡潔。 下面就是兩種遍歷方式: 1、迴圈方式:
for(
inti =0
; i<
globalcategorypanel.controls.count;i++)
//globalcategorypanel是個panel控制項}}
}}
}2、遞迴方式
private
void
button1_click(
object
sender, system.eventargs e)
private
void
findselecedcontrol(control control)
//遞迴函式
else}}
TreeView控制項的載入,遍歷遞迴的應用
看了許多treeview的使用方法,發現沒有乙個適合初次接觸.net中的treeview的例子,由於以前在vb6中載入treeview的結構樹很簡單,只是乙個add 方法而已,在方法中指定父節點,圖示等。而在net中,一切皆物件,就不能用這種思維去想了,比如 111101 110101 110101...
oracle遞迴遍歷子節點父節點
一 適用情況 適用樹狀結構資料,例如包含id,parent id欄位的資料表 表中資料可以通過某些字段找到其中的父子關係。二 語法 select from 表名 start with 條件1 connnect by 條件2 where 條件31 舉例 1 通過父id查詢所有子節點 select fr...
WPF 從當前層次遍歷查詢 子控制項及父控制項
silverlight遍歷父子控制項的通用方法 想從silverlight中datagrid找元素,真是麻煩,沒有rows物件,無法遍歷。從網上找來這些方法,挺好用的 public class vthelper parent visualtreehelper.getparent parent ret...