Dynamic XPages:动态填充导航器控件
我需要在导航器控件的数据库中创建可用视图的链接。我没有找到该控件的任何计算公式区域。就像我们对combobox使用代码一样:Dynamic XPages:动态填充导航器控件,dynamic,view,xpages,navigator,Dynamic,View,Xpages,Navigator,我需要在导航器控件的数据库中创建可用视图的链接。我没有找到该控件的任何计算公式区域。就像我们对combobox使用代码一样: var v = database.getViews(); var a = [] for(var i=0; i<v.size(); i++) { a[i] = v[i].getName() } return a var v=database.getViews(); 变量a=[] 对于(var i=0;i,您可以使用中的为数据库中的每个视图创建导航条目: 此
var v = database.getViews();
var a = []
for(var i=0; i<v.size(); i++) {
a[i] = v[i].getName()
}
return a
var v=database.getViews();
变量a=[]
对于(var i=0;i,您可以使用
中的
为数据库中的每个视图创建导航条目:
此代码将为数据库中的每个视图生成内部导航。您可以使用
中的变量crrView
获取循环中数据库.getViews()
返回的向量的当前元素
您还可以使用其他元素,然后使用
中的
选择NavigationItems控件窗口中的RepeatNode,然后单击add Child。当您说数据库中可用视图的链接时。您指的是指向每个xPage的链接,显示一个视图,还是仅针对数据库中每个视图的一个条目,指向美国一个Xpage显示数据库中所有可用的视图[视图名称]。谢谢Michael Saiz!你的代码对我来说很有用。还有一件事,我在childnode的SELECTED属性中添加了下面的代码,但它不起作用:if(viewScope.viewName==context.getSubmittedValue()){true;}else{false}当我在Navigator控件中单击view name时,它会将值传递给viewScope变量(viewName)。在部分刷新时,我的动态视图面板会显示此视图。所有这些都工作正常,但在我的Navigator控件上没有标识(选中)哪个视图在动态面板上处于活动状态。将以下代码添加到所选字段:selected=“#{javascript:crrView.getName().equals(context.getSubmittedValue());
如果希望在默认情况下选择其中一项,可以添加类似if(context.getSubbmittedValue==null)的内容。。。
<xe:navigator id="outline" expandable="true">
<xe:this.treeNodes>
<xe:repeatTreeNode loaded="true" indexVar="index" var="crrView" value="#{javascript:return database.getViews();}">
<xe:this.children>
<xe:basicLeafNode label="#{javascript:crrView.getName();}" loaded="true">
</xe:basicLeafNode>
</xe:this.children>
</xe:repeatTreeNode>
</xe:this.treeNodes>
</xe:navigator>