使用TreeView完成無限級擴展節點
發表時間:2024-06-08 來源:明輝站整理相關軟件相關文章人氣:
[摘要]功能實現要求:操作環境vb.net和oracle9i 由于數據量很大,所以不能利用rs結果集一次讀出,在往treeview節點上填充。需要填充樹型節點的字段內數據形式為以"."分割如:01 01.01 01.02 01.01.01 02 02.01 02.01 .........
功能實現要求:
操作環境vb.net和oracle9i
由于數據量很大,所以不能利用rs結果集一次讀出,在往treeview節點上填充。
需要填充樹型節點的字段內數據形式為以"."分割
如:01 01.01 01.02 01.01.01 02 02.01 02.01 ............................
利用oracle自身instr函數,可以按"."數分割。并返回所需要的結果集,初始化加載讀取不帶"."字段,第一次讀取帶一個"."…………
至于sqlserver數據庫與oracle的函數書寫略有不同,可以到google,csdn等地方去查找。
sql語句的大致寫法如下:
If pDotCount = 0 Then
sqlString = "select t.需要分割的字段,t.cname from 表名 t where Instr(t.icsn, '.', 1, 1)=0"
Else
sqlString = "select t.需要分割的字段,t.cname from 表名 t where Instr(t.icsn, '.', 1," & pDotCount & ")>0 and Instr(t.icsn, '.', 1, " & (pDotCount + 1) & ")=0 and Instr(t.icsn,'" & pParent & "',1,1)=1"
End If
pDotCount為需要讀取的字段中"."的個數
然后通過雙擊事件獲得父節點(即為選中節點),sql語句中pParent,返回屬于該父節點的子節點,這樣一級一級雙擊即可實現無限擴展,直至走到數據最后一層為止
檢索定位任一節點