si yo te dije que uses ADO...haber el tema es asi...no mire mucho el codigo tuyo, porque desde ya veo que no se porque lo haces asi.pero bueno te explico como deberias hacerlo.
primero no se porque le vas cargando al flexgrid los datos de esa forma, si el mismo tiene una propiedad DataSource en la cual se le asigna un recordset y listo el pollo te carga todo de una.
ni idea como cargaste la estructura del flexgrid(digo las cabeceras) cada vez que borras, agregas. etc.la estructura se tendria que armar con una funcion que se encarge de eso(en realidad no es una funcion simplemente un simple sub que le pasas como parametro el recordset con los datos a cargar) obviamente la debes llamar cada vez que agreges, edites o borres asi se actualiza la grilla con los cambios que es lo que parece no te esta haciendo a vos.
otro tema que veo que usas el .AddNew, .Delete del ADO y eso esta bien ya que se maneja asi, pero es mucho mejor (por lo menos yo lo veo asi) usar directamente SQL, o sea cuando quieras borrar un registro ejecutas un comando que haga un "DELETE * FROM Tabla WHERE idRegistro=" & 'aca va el ID del registro seleccionado en la grilla. para actualizar lo mismo pero con UPDATE Tabla SET.
sino mira este ejemplo que esta muy bien y es facil, es lo que deberias estudiar para seguir:
Ejemplo de edición de un MSHFlexGrid
saludos.
primero no se porque le vas cargando al flexgrid los datos de esa forma, si el mismo tiene una propiedad DataSource en la cual se le asigna un recordset y listo el pollo te carga todo de una.
ni idea como cargaste la estructura del flexgrid(digo las cabeceras) cada vez que borras, agregas. etc.la estructura se tendria que armar con una funcion que se encarge de eso(en realidad no es una funcion simplemente un simple sub que le pasas como parametro el recordset con los datos a cargar) obviamente la debes llamar cada vez que agreges, edites o borres asi se actualiza la grilla con los cambios que es lo que parece no te esta haciendo a vos.
otro tema que veo que usas el .AddNew, .Delete del ADO y eso esta bien ya que se maneja asi, pero es mucho mejor (por lo menos yo lo veo asi) usar directamente SQL, o sea cuando quieras borrar un registro ejecutas un comando que haga un "DELETE * FROM Tabla WHERE idRegistro=" & 'aca va el ID del registro seleccionado en la grilla. para actualizar lo mismo pero con UPDATE Tabla SET.
sino mira este ejemplo que esta muy bien y es facil, es lo que deberias estudiar para seguir:
Ejemplo de edición de un MSHFlexGrid
saludos.