This one took a week to figure out as I was new to ADF at the time but here it is:
Main Method:
//Iterate Control Tests
DCBindingContainer iteratorBindings =
(DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding myIterator= iteratorBindings.findIteratorBinding(“dataControlIterator”);RowSetIterator rsi = myIterator.getRowSetIterator();
for (MyObject object : myObjectList) {
Row lastRow = rsi.last();int lastRowIndex = rsi.getRangeIndexOf(lastRow);
Row newRow = rsi.createRow();
newRow.setNewRowState(Row.STATUS_INITIALIZED);
newRow = setRowEditable(newRow);
newRow.setAttribute(“attributeName”, object .getId());
rsi.insertRowAtRangeIndex(lastRowIndex + 1, newRow);
rsi.setCurrentRow(newRow);
myIterator.getDataControl().commitTransaction();
}
Utility Methods:
public Row setRowEditable(Row row) {
int attribCount = row.getAttributeCount();
for (int i = 0; i < attribCount; i++) {
ViewAttributeDefImpl attrDef = (ViewAttributeDefImpl) row.getStructureDef().getAttributeDef(i);
attrDef.setEditable(true);
attrDef.setSDOHidden(false);
attrDef.setUpdateableFlag(ViewAttributeDefImpl.UPDATEABLE);
}
return row;
}