首页 > 其他 > 详细

ADF_12c_遍历VO处理行记录

时间:2015-08-13 01:17:42      阅读:232      评论:0      收藏:0      [点我收藏+]

ADF中遍历VO行记录不止一种方法,但项目开发中仍有区别,如下给出两种方法。

1.通过VO直接取行:

TargetRunVarForUpdatedImpl vo = (TargetRunVarForUpdatedImpl)getViewObject(“TargetRunVarForUpdatedIterator”);
  int i = 0;
  Row row = null;
  vo.reset();
        while (vo.hasNext()) {
        if (i == 0)
        row = vo.first();
        else
        row = vo.next();  
        String flag=(String)row.getAttribute(“selectedFlag”);
        if(flag==null||flag.equals(“”)){}
        else
        if(flag.equals(“Y”))
        {
            row.setAttribute(“Flag”, (Number)(2));
         }    
        i++;
        }      
       
        this.getTransaction().commit();



2.通过RowSet取行:


  TargetRunVarForUpdatedImpl vo = (TargetRunVarForUpdatedImpl)getViewObject(“TargetRunVarForUpdatedIterator”);
  RowSetIterator it = vo.createRowSetIterator(null); 
  it.reset(); 
        while(it.hasNext()){ 
        Row row=it.next();
            String flag=(String)row.getAttribute(“selectedFlag”);
            if(flag==null||flag.equals(“”)){}
            else
            if(flag.equals(“Y”))
            {
                row.setAttribute(“Flag”, (Number)(2));
             }    
            }        
            this.getTransaction().commit();

测试表明两种方法一般情况下均可遍历行处理相关字段,但是在VO作为table呈现在页面时,若当前只有一条记录,方法1不能迭代到。因此开发过程中通过遍历VO建议选用方法2

ADF_12c_遍历VO处理行记录

原文:http://my.oschina.net/twenty/blog/491652

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!