Xpages @Dblookup无法在服务器上工作

问题描述:

我写了一个xpages。Xpages @Dblookup无法在服务器上工作

detail:有两个组合框A,B。我使用组合框A上的@Dbcolumn从notesview中获取选项数据,我将抛出从A中获得的选择以获取B的第二个数据。

问题是:它在我的localserver上运行良好,但在服务器。

我会很感激任何建议,谢谢你!

代码是在服务器端如下:

var fd_AppChoice:com.ibm.xsp.component.xp.XspSelectOneMenu = getComponent("fd_AppChoice"); 
var [email protected](fd_AppChoice.getValue()); 
var temp=new Array(); 
[email protected]("","(A)",AppChoice,2); 

return temp; 

代码不看的权利 - 你没有服务器。定义一个变量并不能修复它的数据类型,所以var temp=new Array();是无关紧要的。我也宁愿将fd_AppChoice绑定到一个范围变量,例如viewScope.appChoice,那么你的代码变得更容易。试试这个:

var appChoice = @Trim(viewScope.appChoice); // Use getComponent.getValue if you have to 
var server = @DbName(); 
// if different server or nsf have = ["myserver","mydb.nsf"] or [@DbName()[0],"my.nsf"] 
var result = @DbLookup(server,"(A)",appChoice,2); 

return result || ["Sorry nothing here"] 

这应该工作

+0

如此感激您的建议 – user1533484 2012-07-18 06:41:24

+0

现在我改变我的代码如下, 但仍对当地的工作不错,但在服务器上 返回任何结果保持现在正试图〜谢谢! :) var fd_AppChoice:com.ibm.xsp.component.xp.XspSelectOneMenu = getComponent(“fd_AppChoice”); var appChoice = @Trim(fd_AppChoice.getValue()); var server = @DbName(); var result = @DbLookup(server,“(A)”,appChoice,2); 返回结果 – user1533484 2012-07-18 06:45:13

+0

我不知道你可以这样做 - 返回结果|| [“对不起,这里没有任何意见”] – RoyRumaner 2012-07-18 13:20:15

我不能完全证实了这一点:在我的情况下,它就像一个魅力我的测试服务器上(甚至没有尝试在本地)。这是我的代码:

组合框#1从相同的数据库的分类视图读取其值:

<xp:comboBox id="comboBox1" value="#{viewScope.combo1}"> 
    <xp:selectItems> 
     <xp:this.value> 
<![CDATA[#{javascript:@DbColumn(@DbName(), "myView", 1);}]]> 
     </xp:this.value> 
    </xp:selectItems> 
    <xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="panelC2"> 
    </xp:eventHandler> 
</xp:comboBox> 

观察该组合的onchange事件执行面板上的部分更新其是用于组合框#容器2(这可能是你的情况下,这是缺少?)

为了解决这个问题,下面是其余部分:组合#2使用@DbLookup获取它的值数组,它被组合#1中选择的值过滤,现在它存储在一个viewScope变量中(我怎么能不同意Stephan在这里:使用scope-var变得更容易!):

<xp:panel id="panelC2"> 
    <xp:comboBox id="comboBox2" value="#{viewScope.combo2}"> 
     <xp:selectItems> 
      <xp:this.value> 
<![CDATA[#{javascript:@DbLookup(@DbName(), "myView", viewScope.combo1, 5);}]]> 
      </xp:this.value> 
     </xp:selectItems> 
    </xp:comboBox> 
</xp:panel> 
+0

谢谢大家!但不幸的是,问题仍然存在.... – user1533484 2012-07-18 10:50:13

+0

本地方好〜但在web服务器上不好 combobox B保持不显示任何内容〜 – user1533484 2012-07-18 10:51:03

+0

现在我更改我的代码如下: – user1533484 2012-07-18 10:51:24