关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 7035|回复: 1

JEECG的列表页面显示带逗号的金额

[复制链接]
发表于 2014-8-27 11:20:50 | 显示全部楼层 |阅读模式
本帖最后由 riyuetaozi 于 2014-8-27 13:37 编辑

前提:
列表页面使用的是 datagrid标签中的dgcol标签进行显示数据
Eg : <t:dgColtitle="出借金额" field="tranAmountComma"  hidden="true" queryMode="single"   width="80"></t:dgCol>
解决办法:
其实有两种方法,
方法一(修改标签库,没有测试过,谁测试过的,分享一下哈,在此谢过了!)
方法二:(只测试了这一种,治标不治本,嘿嘿)1,在实体类(自己的实体类)中定义一个显示格式化后的金额字段,2getter方法上加 @Transient //不让spring扫描,
3,在控制器中的datagrid方法(查询执行的方法)中循环遍历并调用格式化方法,存入到字段中
Eg : 实体类写法
private String tranAmountComma;//格式化出借金额
@Transient//不让spring扫描
public String getTranAmountComma() {
       return tranAmountComma;
}
public void setTranAmountComma(String tranAmountComma) {
       this.tranAmountComma = tranAmountComma;
}
Eg : 页面写法
<t:dgColtitle="出借金额" field="tranAmountComma"  hidden="true" queryMode="single"   width="80"></t:dgCol>
Eg : 控制器写法
//控制器中的重要代码
List<InverstTranEntity> list = dataGrid.getResults();
InverstTranEntityins = new InverstTranEntity();
for(inti=0,j=list.size();i<j;i++){
       ins = list.get(i);
       ins.setTranAmountComma(insertCommaMoney(ins.getTranAmount().toString()));//格式化出借金额      
}
TagUtil.datagrid(response, dataGrid);
/**
* 金额格式化(使用正则表达式)
* @param money 要格式化的金额
* @return 返回格式后的金额
*/
public staticString insertCommaMoney(String money) {
    if (money == null) {
        return "0.00";
    }
    NumberFormat formater = null;
    double damoney = 0.00;
    try {
          damoney=Double.parseDouble(money);
          formater= new DecimalFormat("#,##0.00#");
       } catch(Exception e) {
              return "金额出错";
       }
    return formater.format(damoney);
}
OK,结束了!

发表于 2014-8-27 13:35:55 | 显示全部楼层
感谢分享,很完整的修改过程~~赞一个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表