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
				
时间: 2024-10-01 08:02:25

Domino 使用递归算法获取视图值的相关文章

控制器中获取Field值

在ASP.NET MVC程序中,我们需要POST Data到制器中,是有很多方法.但是我们想在控制器中,获取Feild值呢?怎样获取?你可以留意到有一个类FormCollection.它能帮助到我们解决这个问题. 举个简单的例子.在ASP.NET MVC应用程序中,在Controllers目录下,创建一个叫SepController控制器,现在是九月,在九月份做的练习,全在这个控制器下进行. 然后在Views目录下,对应的控制器创建PostDataToControl.cshtml视图,在视图中:

iOS:获取视图控制器实例的方法

获取视图控制器实例,可以使用其公开的成员变量的值,而不是重新开辟一块内存,与原先的实例并不只想一块内存区域 实例方法 - (RootViewController *)<span style="font-family: Arial, Helvetica, sans-serif;">rootViewController</span> { UIResponder *next = self.nextResponder; do { if ([next isKindOfCl

20150218【改进】IMX257实现GPIO-IRQ中断按键获取键值驱动程序

[改进]IMX257实现GPIO-IRQ中断按键获取键值驱动程序 2015-02-18 李海沿 一.使用struct pin_desc 管理按键的值 1.定义结构体 2.将前面我们申请中断时写的(void *)1修改为 &pins_desc[n] 在ioctl中,设置中断中修改 在key_release中释放中修改 3.在中断程序中利用我们定义的struc pins_desc判断并得到按键的值 4.得到按键键值后,唤醒程序,在read函数中返回键值 附上驱动源程序: 1 /***********

20150218【改进信号量】IMX257实现GPIO-IRQ中断按键获取键值驱动程序

[改进信号量]IMX257实现GPIO-IRQ中断按键获取键值驱动程序 2015-02-18 李海沿 前面我们使用POLL查询方式来实现GPIO-IRQ按键中断程序 这里我们来使用信号量,让我们的驱动同时只能有一个应用程序打开. 一.首先在前面代码的基础上来一个简单的信号 1.定义一个全局的整形变量 2.在打开函数中,每次进入打开函数canopen都自减1, 3.当我们不使用时,在realease 中canopen自加1 4.这样就实现了一个简单的信号量,我们编译,测试 当我们使用两个应用程序来

20150218【改进Poll定时查询】IMX257实现GPIO-IRQ中断按键获取键值驱动程序

[改进Poll定时查询]IMX257实现GPIO-IRQ中断按键获取键值驱动程序 2015-02-18 李海沿 按键驱动程序中,如果不使用read函数中使程序休眠的,而是还是使用查询方式的话,可以使用Poll函数,来控制一定时间内,如果有按键发生,则立即返回键值. 同时,poll也可以同时监控多个(比如说按键,鼠标,等)一旦发生事件则立即返回. 我们在linux查看帮助: 从帮助中的说明得知, poll, ppoll - wait for some event on a file descrip

快学Scala 第五课 (构造映射,获取映射值,更新映射值,迭代映射,与Java互操作)

构造映射: val score = Map[String, Int]() val score1 = HashMap[String, Int]() val value1 = Map[String, Int]("aa" -> 1, "bb" -> 2) val value2 = Map[String, Int](("aa", 1), ("bb", 2)) 获取映射值: println(if(value2.contain

工作随笔——Java调用Groovy类的方法、传递参数和获取返回值

接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码如下: # TestGroovy.groovy 定义testC方法,传入3个参数,返回处理后的数据 def testC(int numA, int numB, int numC) { "传入参数:" + numA + numB + numC + "计算之和为:" + (

IE10、火狐浏、谷歌浏览器 KindEditor无法获取textarea值

http://e-mailwu.blog.163.com/blog/static/651040362013311160913/ 在IE10.火狐浏览器.谷歌浏览器下后台KindEditor在线编辑器无法获取textarea值. 解决办法如下: (测试版本号: 4.0.6 (2012-03-18)) 方法一: <link rel="stylesheet" href="WebEditor/themes/default/default.css" /><l

C#配置文件中怎么通过key来获取value值

public static string AppConfig() { return System.IO.Path.Combine(Application.StartupPath, "BlackBoxForms.exe.config"); } /// <summary> /// 根据Key获取Value值 /// </summary> /// <param name="appKey">Key</param> /// &l