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/