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。
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。
相关文章推荐
- GridControl控件的数据显示的样式控制(转)
- 用C#将XML中的文字数据写如WORD文档,并控制其格式(包括字体的样式和字体大小)
- GridView,FormView控制日期数据的显示格式
- GridView、Repeater等数据控件列数字、货币和日期的显示格式
- Qt中以固定格式写批量int型数据至文件之格式控制(数字对齐)
- 用C#将XML中的文字数据写如WORD文档,并控制其格式(包括字体的样式和字体大小)
- 黑马程序员之WinForm编程基础学习笔记:用户在文本框1,2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中的数字之间的累加和。如果1或者2为错误的数据格式,则弹出对话框提示错
- 4. 用户在文本框1,2中输入两个数,点击按钮,在文本框3中显示从文本框1的数字到文本框2中的数字之间的累加和。如果1或则2为错误的数据格式,则弹出对话框提示错误。如果文本框1中的数字比文本框2中的数字大,则提示错误。
- GridView、Repeater等数据控件列数字、货币和日期的显示格式
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- GridView、Repeater等数据控件列数字、货币和日期的显示格式
- GridView、Repeater等数据控件列数字、货币和日期的显示格式
- 怎么编程你输进去一个数据 然后输出的会是一组数列 其中前两个数字之和等于第三个数字。例如你输入7, 输出会显示1,2,3,5,8,13,21(每行显示一个数)
- 数字转金额格式* 999999.99 TO 999,999.99
- 用DevExpress.textEdit控件限定数据录入格式,且控制录入数据只能为数字,同时录入小数位控制
- GridView、Repeater等数据控件列数字、货币和日期的显示格式
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- 关于数据库的中的Date类型的数据,在datagrid中显示为字符串格式(例如显示效果2017-10-1)
- 并行口实现数字0~9、A~F、L、U、P、n总共19个键盘,将按键的结果用7段数码管(例如:7SEG-MPX-CA-BLUE)显示(可选——按键控制移位)出来
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)