一般情况下,视图都是用来显示文档的。实际上通过更改视图 $FormulaClass 的值,我们可以让它显示其他的内容。参照下表:

Note Class TypeHex ValueDecimal ValueComments
NOTE_CLASS_DOCUMENT0×00011document note
NOTE_CLASS_INFO0×00022notefile info (help-about) note
NOTE_CLASS_FORM0×00044form note
NOTE_CLASS_VIEW0×00088view note
NOTE_CLASS_ICON0×001016icon note
NOTE_CLASS_DESIGN0×002032design note collection
NOTE_CLASS_ACL0×004064acl note
NOTE_CLASS_HELP_INDEX0×0080128Notes product help index note
NOTE_CLASS_HELP0×0100256designer’s help note
NOTE_CLASS_FILTER0×0200512filter note
NOTE_CLASS_FIELD0×04001024field note
NOTE_CLASS_REPLFORMULA0×08002048replication formula
NOTE_CLASS_PRIVATE0×10004096Private design note, use $PrivateDesign view to locate/classify
NOTE_CLASS_DEFAULT0×800032,768MODIFIER – default version of each
NOTE_CLASS_ALL0x7fff32,767all note types
NOTE_CLASS_ALLNONDATA0x7ffe32,766all non-data notes
NOTE_CLASS_NONE0×00000no notes

比如我们一般的视图,$FormulaClass 的值为1,所以显示一般文档 ;如果是4,则显示所有表单设计元素(实际上,每个设计元素都可以说是一种特殊的文档)。另外还可以这样用:如果将 $FormulaClass 的值指定为 1548(4 + 8 + 512 + 1024),则可以同时显示表单、视图等几种设计元素。

修改 $FormulaClass 域的方法,可以通过类似如下的代码实现:

Set view= db.GetView(“FormView”)
Set doc = db.GetDocumentByUNID(view.UniversalID)
Call doc.ReplaceItemValue(“$FormulaClass”, “4″)

至于这样的视图有什么用,就要看自己的想像力了。比如创建一个包含所有设计元素的视图,就可以通过名字来查找设计元素文档了。

请参考 Modifying $FormulaClass in ViewsFun with $FormulaClass