我正在尝试将数据绑定到计算字段中的表格,该字段根据所选天数计算金额。请帮助我!
问问题
384 次
2 回答
0
我遇到过同样的问题。这可能不是解决此问题的最有效方法,但它确实有效。
var cost1 = getComponent('ItemCost1').getValue(); document1.replaceItemValue("ItemCost_1", cost1),
您可以将其放入 QuerySave 事件中,并且效果很好。
于 2013-07-29T16:32:54.360 回答
0
我的偏好是让 Computed Field 完成工作,并将目标字段放在不向用户显示但在 XPage 上可见的位置。像这样的东西:
<xp:table id="dataTable">
<xp:tr>
<xp:td>
<xp:label value="Price Per Day" id="label1"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="PricePerDayEB1" value="#{document1.PricePerDay}" defaultValue="25">
<xp:this.converter>
<xp:convertNumber type="currency"></xp:convertNumber>
</xp:this.converter>
<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="dataTable">
</xp:eventHandler>
</xp:inputText>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Days" id="label2"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="DaysEB1" value="#{document1.Days}" defaultValue="1">
<xp:this.converter>
<xp:convertNumber type="number" integerOnly="true">
</xp:convertNumber>
</xp:this.converter>
<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="dataTable">
</xp:eventHandler>
</xp:inputText>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Computed Total" id="label3"></xp:label>
</xp:td>
<xp:td>
<xp:text escape="true" id="compTotalCF1">
<xp:this.value><![CDATA[#{javascript:
var PricePerDayEB1:com.ibm.xsp.component.xp.XspInputText = getComponent("PricePerDayEB1");
var DaysEB1:com.ibm.xsp.component.xp.XspInputText = getComponent("DaysEB1");
var TotalEB1:com.ibm.xsp.component.xp.XspInputText = getComponent("TotalEB1");
var ppd = PricePerDayEB1.getValue();
var days = DaysEB1.getValue();
var total = ppd*days
TotalEB1.setValue(total);
return total;
}]]></xp:this.value>
</xp:text>
</xp:td>
</xp:tr>
<xp:tr style="display:none;">
<xp:td>
<xp:label value="Bound Total" id="label4"></xp:label>
</xp:td>
<xp:td>
<xp:inputText id="TotalEB1" value="#{document1.Total}">
<xp:this.converter>
<xp:convertNumber type="number"></xp:convertNumber>
</xp:this.converter>
</xp:inputText>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td colspan="2">
<xp:button value="Submit" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button>
</xp:td>
</xp:tr>
</xp:table>
快乐编码
/新人
于 2013-07-29T20:21:15.870 回答