Post date: Aug 05, 2015 12:47:26 PM
This code will make the row in which you've opened a detailStamp the current row. It doesn't happen automatically so if you want to operate ont he data in the current row you need this. I used this in a project. Thanks to Timo Hahn for the blog post.
// next two methods thanks to Timo Hahn and his blog
public void rowDiscloseListener(RowDisclosureEvent rowDisclosureEvent) {
RowKeySet addedSet = rowDisclosureEvent.getAddedSet();
Object object = rowDisclosureEvent.getSource();
for (Object obj : addedSet) {
List<Key> rowKeys = (List<Key>)obj;
this.makeDisclosedRowCurrent(rowDisclosureEvent, (Key)rowKeys.get(0));
}
}
public void makeDisclosedRowCurrent(RowDisclosureEvent rowDisclosureEvent, Key key) {
RichTable _table = (RichTable)rowDisclosureEvent.getSource();
CollectionModel _tableModel = (CollectionModel)_table.getValue();
JUCtrlHierBinding _adfTableBinding = (JUCtrlHierBinding)_tableModel.getWrappedData();
DCIteratorBinding _tableIteratorBinding = _adfTableBinding.getDCIteratorBinding();
Key _rwKey = key;
_tableIteratorBinding.setCurrentRowWithKey(_rwKey.toStringFormat(true));
}