我無法在Xpages中獲得簡單的兩個字段依賴關係。Xpages從屬字段查找
Field1是一個組合框,其選擇來自DBLookup。
Field2是一個組合框,其選擇來自一個DBLookup,該DBLookup使用Field1中的值對子集進行選擇。
我的代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xp_1="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoDocument var="document1" formName="timeEntry"></xp:dominoDocument>
</xp:this.data>
<xp:comboBox id="comboBox1">
<xp:this.defaultValue><![CDATA[#{javascript:""}]]></xp:this.defaultValue>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db = new Array(@DbName()[0], 'TSCTT.nsf');
@DbColumn(db, "workCategoryView", 1)}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="onchange" submit="true"
refreshMode="complete">
</xp:eventHandler>
</xp:comboBox>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:comboBox id="comboBox2">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db = new Array(@DbName()[0], 'TSCTT.nsf');
var key:String = document1.getItemValueString("comboBox1");
@DbLookup(db,"(DBLookupWorkSubCategoryView)",key,2);}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db = new Array(@DbName()[0], 'TSCTT.nsf');
var key:String = document1.getItemValueString("djFilteringSelect1");
@DbLookup(db,"(DBLookupWorkSubCategoryView)",key,2);}]]></xp:this.value>
</xp:selectItems>
</xp:selectItems></xp:view>
我更新的代碼如你所說,但它仍然無法正常工作。
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xp_1="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoDocument var="document1" formName="timeEntry"></xp:dominoDocument>
</xp:this.data>
<xp:comboBox id="comboBox1" value="#{document1.workCategory}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db = new Array(@DbName()[0], 'TSCTT.nsf');
@DbColumn(db, "workCategoryView", 1)}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="onchange" submit="true"
refreshMode="partial" refreshId="comboBox2">
</xp:eventHandler>
</xp:comboBox>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:comboBox id="comboBox2" value="#{document1.workSubCategory}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript://var db = new Array(@DbName()[0], 'TSCTT.nsf');
var key:String = document1.getItemValueString("comboBox1");
//@DbLookup(db,"(DBLookupWorkSubCategoryView)",key,2);
//var key = document1.getItemValue("comboBox1");
//var key = currentDocument.getItemValueString("comboBox1")
key
//var item = document1.getValue("comboBox1");
//return item;}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
<xp:br></xp:br>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var db = new Array(@DbName()[0], 'TSCTT.nsf');
var key:String = document1.getItemValueString("djFilteringSelect1");
@DbLookup(db,"(DBLookupWorkSubCategoryView)",key,2);}]]></xp:this.value>
</xp:selectItems></xp:view>
我更新了我的代碼,但它仍然無法正常工作。 –
你的查找鍵需要使用workCategory而不是combobox1 –
這對我來說真是愚蠢。我得到它的工作。但是,如果這些字段是自定義控件的一部分,則看起來不起作用。如果我把它們放在自己的XPage中,它們就可以工作,但是如果它們在CC中,它們不會。那是對的嗎? –