Domino 使用递归算法获取视图值

    在关系数据库中,有两字段是父子关系。通过递归算法,输入一个父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



posted @ 2017-06-17 13:37  wzjhoutai  阅读(322)  评论(0编辑  收藏  举报