DOCUMENT:Q157855 11-DEC-1999 [foxpro] TITLE :PRB: AfterRowColChange Event Code Does Not Enable Grid Cell PRODUCT :Microsoft FoxPro PROD/VER:WINDOWS:5.0 OPER/SYS: KEYWORDS: ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual FoxPro for Windows, version 5.0 ------------------------------------------------------------------------------- SYMPTOMS ======== If the Enabled property of a cell is changed in the AfterRowColChange event, the effect may not take place immediately. A cell that should be enabled may be disabled after moving to it from a disabled cell. Moving to a different cell in that row and back again enables the cell. CAUSE ===== The Enabled property at the column level is checked upon entry to the field. If it is changed after entering a field, it is not looked at again until you leave and re-enter the field. WORKAROUND ========== If you wish to disallow editing of a cell based on the contents of the cell, set the ReadOnly property to true (.T.) as shown below: IF numb_char.numb>80000 This.Columns(ncolindex).ReadOnly=.F. ELSE This.Columns(ncolindex).ReadOnly=.T. ENDIF Furthermore, you can change the color of the active cell by following the steps outlined in the following article in the Microsoft Knowledge Base: Q129280 How to Change the Color of the Active Cell in a Grid STATUS ====== This behavior is by design. MORE INFORMATION ================ Steps to Reproduce Behavior --------------------------- 1. Create a table by entering the following command in the Command window: " CREATE TABLE numb_char(numb n(5),alpha c(5)) " (without the quotation marks) 2. Fill the numeric field with some values over 80000 and some values under. Fill the alpha field with anything. 3. Create a new form and place the table in the DataEnvironment. 4. Drag the table to the form to make a grid. 5. Place the following code in the AfterRowColChange event: IF numb_char.numb>80000 This.Columns(ncolindex).Enabled=.t. ELSE This.Columns(ncolindex).Enabled=.f. ENDIF 6. Save and Run the form. Move from row to row. Notice when you move with the arrow keys from a disabled row to one that should be enabled, the row that should be enabled is not until you move to the left or right and back again. Additional query words: kbdsd VFoxWin ====================================================================== Keywords : Technology : kbVFPsearch kbAudDeveloper kbVFP500 Version : WINDOWS:5.0 ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1999.