code: def OnTableChanged(self, event):
          
  
          if hasattr(event, 'updated_cell'):
              # Event posted by cell edit widget.  Even more up to date
              #  than the current cell's contents
              self.ignore_changes = True
              try:
                  self.SetValue(event.updated_cell)
  
              except TypeError:
                  # None instead of string present
                  pass
              self.ignore_changes = False
  
          else:
              current_cell = self.main_window.grid.actions.cursor
              current_cell_code = self.main_window.grid.code_array(current_cell)
  
              if current_cell_code is None:
                  self.SetValue(u"")
              else:
                  self.SetValue(current_cell_code)
  
          event.Skip()
docs: Table changed event handler