在關係數據庫中,有兩字段是父子關係,通過遞歸算法,輸入一個父ID,可以獲取所有對應的子ID。這種數據結構在組織架構中經常使用,顯示一般使用樹形結構。在Domino中同樣可以處理這樣的情況,以下是個小demo,希望對大家有幫助,交流QQ 873968102
1)視圖的數據結構(這數據結構使用在一些應用當中,這是前臺UI
xpages domino動態編輯樹 )
2)以下是使用LS的遞歸算法,通過輸入一個父ID,把所有子ID帶出來,通過 : 分隔,其它JAVA、SSJS寫法類似,就不寫出來了。有些同學會想,爲什麼要獲取所有的子ID呢?例如刪除一個ID,就先要獲取子ID一起,然後當前ID和子ID全刪除。
%REM
視圖第一第二列遞歸取數據
view,id爲全局變量
%END REM
Dim id asstring
Function tempstring1(key As String) AsString
Dim vc1 AsNotesViewEntryCollection
Dim entry1 As NotesViewEntry
Set vc1=view.GetAllEntriesByKey(key,True)
Set entry1=vc1.GetFirstEntry
While Not entry1 Is Nothing
If id=""Then
id=CStr(entry1.ColumnValues(1))
Else
id=id & ":" & CStr(entry1.ColumnValues(1))
EndIf
tempstring1=id & ":" &tempstring1(CStr(entry1.ColumnValues(1)))
Setentry1=vc1.Getnextentry(entry1)
Wend
EndFunction