Ver Mensaje Individual
  #10  
Antiguo 13-08-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Casimiro intenta decirte que los controles visuales simplemente se limitan a mostrar datos

Los datos propiamente dichos estan en un TDataSet (ni siquiera un ADOQuery, que es una implementacion; TDataSet es abstracto)

Cuanto mas abstractas sean las clases que usas, mas facil es de realizar mantenimientos mas adelante a tu codigo
Cuanto mas concretas sean las clases que usas, es mas dificil porque al "atarte" a una implementacion particular, si luego tenes que cambiar a otra, podes perder algunas caracteristicas o te obliga a cambiar la forma de hacer las cosas

En el DBGrid no tenes la propiedad FieldByName porque es de un DataSet

Osea, en algun momento conectaste tu DBGrid a un DataSet usando de intermediario un DataSource. Tenes que tener muy presente que haya un DataSource en el medio, el DataSet que conoce el Grid es uno solo. En alguna parte de tu codigo estas creando esa relacion

Código Delphi [-]
  AlgunDataSource.DataSet := TuDataSet/Query/etc;
  DBGrid.DataSource := AlgunDataSource;

Si haces la prueba de cerrar "TuDataSet/Query/etc" o modificar un campo, o lo que fuera, el Grid se "actualiza"

Por lo tanto para acceder a los datos del Grid, la forma correcta es usando el DataSet.
Responder Con Cita