可编辑:当文档是编辑状态时,用户可以编辑此域的信息,该域的可编辑状态与文档相同。大部分域使用这种域,用于用户填写信息。
计算:该域类型在任何状态下都是不可编辑的,每次文档保存的时候,该域都会根据公式进行值的计算,然后将计算结果写到到文档对应的域值中,常用的,如果计算公式中为@username,就可以使用该域来显示文档的最后保存者。
创建时计算:该域类型也是在任何状态下都是不可编辑的,创建文档的时候该域生成,并且在文本编辑的时候,该域不会随着文档的变化而重新进行计算。常用到的比如确定文档的创建者,只需要在域默认值中写入@username就OK,以后不管是谁编辑,该值永远是文档的创建者,这个是和普通计算域的区别。
显示时计算:类似计算文本,当文档打开的时候,根据域中的公式现去计算该域的值。注意一点,显示时计算域,在文档保存时,不保存该域的真实值,永远是空,也就是说,你定义了一个显示时计算域,则只能在前台使用,后台(代理等)无法使用这个域。
在域的类型里面,有一项是“允许多值”,如果选中了此项,说明此域中可以存放多个值,在代理中可以调用此域,继续向里面存放值。当拿取此域中的值时,搜索的结果是vector,相当于java中的list,相当于一个集合。需要循环拿取里面的值。
域“fldHaveReaders”是一个允许多值的域,java代理中向此域中添加值。
Vector readers = doc.getItemValue("fldHaveReaders");
if (!readers.contains(userName)) {
readers.addElement(userName);
doc.replaceItemValue("fldHaveReaders", readers);
}
要想在页面中显示,则只要设置域的隐藏格式。