SHOW:
|
|
- or go back to the newest paste.
1 | - | BINPASTE |
1 | + | //TreeNode parent คือ Node ที่เราจะใส่ Child โดย หาจาก childID |
2 | public int FillChild(TreeNode parent, int childID) | |
3 | { | |
4 | //หาทางดึงข้อมูลออกมาโดย WHERE SUPLOCATID = @childID | |
5 | //ตย. SELECT * FROM xxx WHERE SUPLOCATID = @childID | |
6 | DataSet dasChild = //GetChild(childID); | |
7 | ||
8 | //เช็คก่อนว่า จาก ChildID ที่ส่งไป คิวรี่หา ว่ามีจ้อมูลหรือไม่ ถ้ามี ก็สร้าง TreeNode จากข้อมูลที่ได้ แล้วค่อยใส่ให้ Parent | |
9 | if (dasChild.Tables[0].Rows.Count > 0) | |
10 | { | |
11 | foreach (DataRow row in dasChild.Tables[0].Rows) | |
12 | { | |
13 | //สร้าง TreeNode | |
14 | TreeNode child = new TreeNode(); | |
15 | child.Text = row["LocationName"].ToString().Trim(); | |
16 | ||
17 | //เก็บ ID ไว้สำหรับเอาไปหา Child ต่อไป (Recursive) | |
18 | int childID = Convert.ToInt32(row["LocationID"]); | |
19 | ||
20 | child.Collapse(); | |
21 | ||
22 | //ใส่ TreeNode ที่สร้างให้กับ Parent TreeNode | |
23 | parent.ChildNodes.Add(child); | |
24 | ||
25 | //เรียกตัวเอง เพื่อหา Child ต่อไปเรื่อยๆ จนว่าจะหมด โดยการส่ง treenode ที่สร้างนี้ ลงไปหา Child ตัวมันเอง | |
26 | //โดยใช้ childID | |
27 | FillChild(child, childID); | |
28 | } | |
29 | ||
30 | //เสร็จจบ ก็ return 0 ไป | |
31 | return 0; | |
32 | } | |
33 | ||
34 | //สำหรับที่ไม่เจออะไรแล้วก็ให้ return 0; ออกไปเลยเพื่อจบตัวมันเอง สำหรับ recursive | |
35 | else | |
36 | { | |
37 | return 0; | |
38 | } | |
39 | } |