PDA

Ver la Versión Completa : Desesperación Modificacion TDBAdvStringGrid


Rockin
10-03-2008, 14:30:44
Tengo el siguiente codigo, en un command Button:
datDatos.FIBDataSetControl.Active:= false;
datDatos.FIBDataSetControl.SelectSQL.Text:='select nombre, hora_entrada, hora_salida, horas_trabajadas, fecha, campanya, empresa, coordinador from horas_operadores where nombre= :operador and fecha between :inicio and :final and activo = 0 order by fecha asc';
datDatos.FIBDataSetControl.ParamByName('inicio').AsDate:= datetimeinicio1.Date;
datDatos.FIBDataSetControl.ParamByName('final').AsDate:= datetimefinal1.Date;
datDatos.FIBDataSetControl.ParamByName('operador').AsString:= DBLookupComboOperador.Text ;
datDatos.FIBDataSetControl.Active:= True;


datDatos.datDataSourceICCSControl.DataSet:= datDatos.FIBDataSetControl;
DBGridRegularizar.DataSource:= datDatos.datDataSourceICCSControl;
DBGridRegularizar.DataSource.AutoEdit:= true;

En el que consulto las horas de los trabajadores, el problema es que no puedo editar el TDBAdvStringGrid, he probado todas las opciones del mundo, he buscado en el foro, en google y nada de nada, no puedo editar el TDBAdvStringGrid.
Uso Firebird con FIBPlus y el componente TDBAdvStringGrid.

No se que hacer para poder editar el TDBAdvStringGrid, si alguien me pudiera indicar algo, por favor, tambien he probado un DBgrid normal que viene con delphi.

Gracias de antemano.

jachguate
11-03-2008, 06:05:22
No conozco el tal TDBAdvStringGrid, pero para que un grid permita modificar los registros que muestra, normalmente el DataSet que contiene dichos datos debe ser actualizable. Así, simplemente, seguí las reglas/instrucciones para que el dataset de base lo sea.

Como veo que la propiedad donde pones el query se llama SelectSQL, probablemente tenga propiedades UpdateSQL, DeleteSQL que deban rellenarse. Además, podría tener una propiedad de nombre ReadOnly (que debiera estar a false) o RequestLive (que debiera estar a true).

En fin... es cosa de conocer la capa de conexión a datos que estas usando, y eso regularmente se consigue leyendo la documentación y practicando.

Hasta luego.

;)

Rockin
11-03-2008, 09:02:46
El componente que te comento es un DBGrib como el de delphi, pero mas "bonito", tambien he utilizado el DBGrid normal de la paleta Data Control pero nada. La propiedad Read Only está a false y el dataset de los FIBPlus no tiene la propiedad RequestLive. Hago un selecte para mostrar los registros en el DBGrid, los cuales luego quiero modificar desde el Grid, pero nada. He probado con todo, he buscado en todos lados y nada.

¡¡¡¡¡AYUDA POR FAVOR!!!!!

jachguate
11-03-2008, 14:34:25
Pues lee la documentación de FIBPlus, o pregunta en sus foros de soporte que hacer para que el componente que estas usando sea actualizable.

Un saludo.

:)

Rockin
11-03-2008, 17:45:16
He conseguido poder editar el DBGrid añadiendo el componente TUpdateObject, pero no me realiza ninguna modificacion en la BD.

El TUpdateObject, tiene asociado el dataset, pero nada.

¿Alguien sabe como realizar la modificacion?

egostar
11-03-2008, 17:57:23
He conseguido poder editar el DBGrid añadiendo el componente TUpdateObject, pero no me realiza ninguna modificacion en la BD.

El TUpdateObject, tiene asociado el dataset, pero nada.

¿Alguien sabe como realizar la modificacion?

Y como es que estás "disparando" la sentencia UpdateSQL :confused:

Ya intentaste usar ApplyUpdates ?

Salud OS

Rockin
12-03-2008, 12:21:48
Al final he usado un StrinGrid y me va muy bien.

Gracias a todos por vuestra ayuda