How to check whether ADF table row is modified or not.

How to check whether ADF table row is modified or not.

Sometimes we need to know whether any row of ADF table is modified or not using managed bean. Here’s a quick solution to find whether ADF table rows are modified or not.

There is a method in oracle.jbo.Transaction class called isDirty()  used to find row is modified or not.

BindingContainer binding=bindingctx.getCurrentBindingsEntry();

DCBindingContainer bindingsImpl = (DCBindingContainer) binding;

DCIteratorBinding dciter = bindingsImpl.findIteratorBinding(“iterName”);

ViewObject vo=dciter.getViewObject();

boolean dirty=vo.getApplicationModule().getTransaction().isDirty();

iterName  is the Iterator name of ADF table find in page definition file. Boolean dirty will return true if table is modified.

About Manish Pandey

Manish is a Project Leader at Jagran Prakashan Ltd, focused on Jdeveloper Fusion Web Application(specifically Oracle ADF). He shares his knowledge through the OTN Jdev/ADF Forum. He has written more than 50 article about Oracle ADF and Jdeveloper.


  1. Hi Manish,

    The code you provided checks if the AM transaction is dirty or not. It does not tell if a specific VO row is dirty. Do you know how to check is a specific row inside a view object is dirty?


  2. Hi Ravi,

    For that purpose you have to create custom method in View Object Impl class as follows and exposed it as client interface to check weather particular row is modified or not.

        public boolean isdirty()
            boolean flag=false;
           DepartmentsViewRowImpl crow =(DepartmentsViewRowImpl)this.getCurrentRow();
         EntityImpl entity=   crow.getDepartments();
         byte state=entity.getEntityState();
        return flag;

Leave a Reply