You have many solution:
1 - Don't put the "Save Behind" bit in your Details Form. Each time it
closes, an update code will be posted.
Meanwhile this is the normal behavior if you use a Debug ROM. In this
case, the update event is always posted. Only in Release ROM the "Save
Behind" bit is used.
2 - After calling FrmReturnToForm, post an update Event for the Form:
FrmReturnToForm(0)
FrmUpdateForm(0, frmRedrawUpdateCode);
Ludovic
Grosch, Scott wrote:
> I've implemented a form that has a table covering most of the
> screen. The contents of the form are set via the records of
> a database. I've used the Palm OS Porgramming Bible to get the
> code to make all this work.
>
> When I select a table item, I call FrmPopupForm() to bring up
> a details dialog where I display all the data from that row of
> the table and allow the user to change it. When they're done
> they hit the OK button, which rewrites the entry in the database.
>
> The problem I'm having is that when the details dialog goes
> away (i.e. after FrmReturnToForm(0)) the table is not redrawn
> right then. If I click on any table entry the details dialog
> pops up again, and I see then that the table modified itself
> in the background. How do I force the table to redraw right after
> the original details dialog goes away?
>
> I have this get called when tblRowSelect event happens. I've
> tried just marking the row invalid, and also marking the whole
> table invalid, as shown below.
>
>
> static void EditFormTblRowSelected(EventType *e)
> {
> TableType *table;
> Int16 row;
>
> table = e->data.tblEnter.pTable;
> row = e->data.tblEnter.row;
>
> gEditDetailsDBIndex = TblGetRowID(table, row);
>
> FrmPopupForm(EditDetailsForm);
>
> // They may have changed something, so....
> TblMarkTableInvalid(table);
> TblRedrawTable(table);
> }
>
>
>
>
>
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/