My problem has nothing to with the storage of rows in the database.
Things work fine after a database refresh (the Strandz framework takes
care of that).
I just want to insert at a particular point in the detail list. If this
can be achieved then the user can navigate around the DO graph and come
back to the DO he inserted - and it will still be in the place where he
put it. That's all I want!
Anyway the solution for ROP would seem to be the same as for server DOs.
I have written this extra method in the client version of Worker:
/**
* Copied from super and altered to allow adding at a particular point
*/
public void addToRosterSlots(RosterSlot object, int index)
{
if(objectContext != null) {
objectContext.prepareForAccess(this, "rosterSlots");
}
this.rosterSlots.add( index, object);
}
The only changes I am making in these extra methods is that I am using
add(index, object) rather than add(object). Wouldn't it be a good idea
for the generated methods to have the extra int argument?
- Chris
Scott Anderson wrote:
> If you put a new entry in the middle of the list, it's still going to
> boil down to a vanilla INSERT. Since DB tables are FIFO, your row will
> jump to the end of the list the after a refresh.
>
> If order is important to your application, you'll have to come up with a
> way that the database will respect. That could mean, among other things,
> sorting on a field, or using relationships to daisy-chain the records
> like a linked list.
>
>
>
-- Seaweed Software Pty Ltd, http://www.strandz.org
This archive was generated by hypermail 2.0.0 : Thu Sep 25 2008 - 19:41:28 EDT