您的位置:首页 > Web前端 > CSS

OAF控制数据显示格式例如:数字显示样式999,999.99 [转]

2012-06-21 15:17 429 查看
import oracle.cabo.ui.validate.FoRMAtter;

import oracle.apps.fnd.framework.webui.OADecimalValidater;

import oracle.apps.fnd.framework.webui.beans.OAWebBeanDataAttribute;

import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;

在processRequest中加入

Formatter formatter = new OADecimalValidater("#,###,###,##0;(#,###,###,##0)", "#,###,###,##0;(#,###,###,##0)");

OAMessageTextInputBean Fare = (OAMessageTextInputBean)webBean.findChildRecursive("Fare");

if(Fare != null)

Fare.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);

((OAWebBeanDataAttribute)tableBean.findIndexedChildRecursive("Fare")).setTabularFunctionCurrencyCode("CNY");

或者

这个方法其实只要设置了币种就可以了,当然,需要在首选项里设置数字格式,同时这也是一个Profile,可以在系统管理员配置。

例如:

OAMessageStyledTextBean cost = (OAMessageStyledTextBean)webBean.findIndexedChildRecursive("Cost");

cost.setAttributeValue(CURRENCY_CODE, "CNY");

做点补充:

需要导入的类都位于:oracle.cabo.ui.validate

Formater的子类有ColorValidater, WMLPatternValidater, ByteLengthValidater, DecimalValidater, DateValidater

1、DateValidater:验证日期格式。不但可以用于“OAMessageDateFieldBean”,也可用于“OAMessageTextInputBean”。 例如:

OADateValidater formatter = new OADateValidater("yyyyMMdd", "");

2、WMLPatternValidater:验证文本框的格式。 例如:

WMLPatternValidater formatter = new WMLPatternValidater("8N");

3、ByteLengthValidater:验证入力的byte长度。 例如:

ByteLengthValidater formatter = new ByteLengthValidater(10, "Windows-31J");

当入力的字符中有全角,超出规定的byte数后,会报出客户端的错。与在画页面的时候,设置控件的长度效果一样。

4、DecimalValidater:验证入力数字的大小。 例如:

DecimalValidater formatter = new DecimalValidater();

formatter.setMaxValue(10);

formatter.setMinValue(2);

(webBean.findChildRecursive("item1")).setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);

5、若是需要自定义地、更复杂地属性验证,可以使用RegExpValidater。 例如:

(webBean.findChildRecursive("item1")).setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, new RegExpValidater("[0-9]{3}"));

6、以上的验证可以写在processRequest()方法的webBean的setAttributeValue()中,

若在触发submit请求时,有验证错误的话,就会先在客户端弹出系统标准的javaScript的错误消息。

同时,对于想在submit请求以后,再进行属性验证的时候,可以调用ValidationUtils.validate()方法。

这个方法有三个参数,其中那个String的参数对应的值,是页面上控件的值。 例如:

OAMessageTextInputBean dfb = (OAMessageTextInputBean)webBean.findChildRecursive("item1");

java.text.ParseException[] p =

ValidationUtils.validate(pageContext.getRenderingContext(), new WMLPatternValidater("8N"), (String)dfb.getValue(pageContext));

if (p != null && p.length > 0)

{

throw new OAException("YOUR MESSAGE...");

}

7、其中OAF中继承的类有OADateValidater和OADecimalValidater。具体的使用方式,可以参照各个类的DOC。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐