1. 程式人生 > >Domino 使用遞歸算法獲取視圖值

Domino 使用遞歸算法獲取視圖值

學會 相同 not ref column sdn http 字段 能夠

在關系數據庫中,有兩字段是父子關系。通過遞歸算法,輸入一個父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



Domino 使用遞歸算法獲取視圖值