Matt, It does not exactly reply to your question. Please consider NOT to update / edit a textbox in a grid, use instead a textbox outside the grid. To be sure your textbox is updated, when txtbox ControlSourse is a cursor apply the 'safeselect' procedure as developped by Andy Kramek. This works 100% always. Regards, Koen
2017-09-25 17:29 GMT+02:00 Matt Slay <[email protected]>: > No buffering is involved. > > In fact, if you tab over two columns, you finally get the expected > calculated value from the logic in the AfterRowColChange() method. I see > why... The first column move the method does not the new values, but once > that move is complete, then the value in the cursor is updated, so that > when you move a second time, it then has the new value so the calculation > works correctly. However, I cannot let my user experience this odd latency. > > BTW - The calculate in the AfterRowColChange updates a property on a data > object and that property is displayed in another read-only textbox outside > of the grid. So, when they user enters a new value in the grid column, and > tabs over, they expect to see the other textbox update to show the new > calculated value from their data entry in the grid. > > Here is basically the code that gets fired in AfterRowColChange(): > > > Procedure AfterRowColChange() > > Thisform.oBusinessObject.UpdatePropertiesFromGridCursor() > > Thisform.Refresh() > > EndProc > > > > *Matt Slay* > > > > On 09/25/17 10:07 AM, Richard Kaye wrote: > >> Some other thoughts. Is this cursor inside a transaction? If so, what >> kind of buffering do you have set? If you are row buffered and moving from >> column to column in your grid, no implicit replace or update operation will >> happen unless you move the record pointer, right? >> >> -- >> >> rk >> >> -----Original Message----- >> From: ProfoxTech [mailto:[email protected]] On Behalf Of Matt >> Slay >> Sent: Monday, September 25, 2017 10:56 AM >> To: [email protected] >> Subject: Textbox in grid column.... When is cursor updated? >> >> Textbox in grid column question.... When is the value entered in a >> textbox in a grid column applied to the underlying bound cursor relative >> to the firing of the grid.AfterRowColChange() when user hits tab to move >> to the next column? >> >> Here is the situation I am struggling to understand: When entering a >> new value in a column and then hitting tab to go to the next column, it >> appears that the value from the textbox which you are exiting is not >> applied to the cursor yet at the time AfterRowColChange() fires. I have >> some calculation logic on AfterRowColChange() and the old value is what >> I am seeing. >> >> As a hack, I have gone this route, but I hate it: In order to get the >> value from the textbox in the cursor soon enough to be seen by the >> AfterRowColChange() method code, I have put explicit code in the >> textbox.Valid() to say “Replace {field} with This.Value in {lcCursor}” >> and then the cursor is updated so that when AfterRowColChange() is >> called, it will see the new value in the row for that field. >> >> >> Am I making any sense with this explanation? What am I missing? >> >> > > --- StripMime Report -- processed MIME parts --- > multipart/alternative > text/plain (text body -- kept) > text/html > --- > [excessive quoting removed by server] _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/CACUu1SsHY+=yr+_dnvi2mjbvuv151nyccotorgnpeovdzz7...@mail.gmail.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

