Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-06

CheckBox en TDBGrid

14 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ismael L. Donis García

Ya logr� que me muestre un checkbox el grid, pero me sale deshabilitado (en gris) y marcado por defecto, quiero que me salga habilitado (no me salga en gris) y desmarcado por defecto cuando agrego una nueva fila al grid.

Como podr�a lograr esto?

Saludos Reiterados
=========
|| ISMAEL ||
=========
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110602/a2c61a3d/attachment.html>

Reply by email

christian Ortiz
to Ismael L. Donis García

si hablas del stringgrid, se supone que debes psarle como texto el 0 o el uno

intenta algo asi :

Stringgrid.cell[ ColumnaCheck, Fila ] := '0'

2011/6/2 Ismael L. Donis Garc�a <ismael en citricos.co.cu>

Show quoted text 18 lines
Ya logr� que me muestre un checkbox el grid, pero me sale deshabilitado (en gris) y marcado por defecto, quiero que me salga habilitado (no me salga en gris) y desmarcado por defecto cuando agrego una nueva fila al grid. Como podr�a lograr esto? Saludos Reiterados ========= || ISMAEL || ========= _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Christian ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110602/e9543d21/attachment.html>

Reply by email

Ismael L. Donis García
to christian Ortiz

No trabajo con stringgrid, sino con TDBGrid, pero lo que busco no es eso, es ver si existe una propiedad en tiempo de dise�o o en tiempo de ejecuci�n para que el checkbox no lo asuma por defecto en true, sino que lo asuma en false.

Si uso eso que expones me entra en edici�n a la hora de insertar un registro y quer�a evitar precisamente eso.

Saludos Cordiales
=========
|| ISMAEL ||
=========

Earlier message 26 lines
----- Original Message ----- From: christian Ortiz To: Spanish version of Lazarus List Sent: Thursday, June 02, 2011 8:43 PM Subject: Re: [Lazarus-es] CheckBox en TDBGrid si hablas del stringgrid, se supone que debes psarle como texto el 0 o el uno intenta algo asi : Stringgrid.cell[ ColumnaCheck, Fila ] := '0' 2011/6/2 Ismael L. Donis Garc�a <ismael en citricos.co.cu> Ya logr� que me muestre un checkbox el grid, pero me sale deshabilitado (en gris) y marcado por defecto, quiero que me salga habilitado (no me salga en gris) y desmarcado por defecto cuando agrego una nueva fila al grid. Como podr�a lograr esto? Saludos Reiterados ========= || ISMAEL || =========

Reply by email

christian Ortiz
to Ismael L. Donis García

si usas un dbgrid, significa q tienes los datos en el dataset, por lo q proviene de una consulta SQL, ahora supongo que el true o false depende de informacion que traes desde la BD, Porqu no traes el booleano directamente desde la consulta?

2011/6/3 Ismael L. Donis Garc�a <ismael en citricos.co.cu>

Show quoted text 65 lines
No trabajo con stringgrid, sino con TDBGrid, pero lo que busco no es eso, es ver si existe una propiedad en tiempo de dise�o o en tiempo de ejecuci�n para que el checkbox no lo asuma por defecto en true, sino que lo asuma en false. Si uso eso que expones me entra en edici�n a la hora de insertar un registro y quer�a evitar precisamente eso. Saludos Cordiales ========= || ISMAEL || ========= ----- Original Message ----- *From:* christian Ortiz <xortix en gmail.com> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org> *Sent:* Thursday, June 02, 2011 8:43 PM *Subject:* Re: [Lazarus-es] CheckBox en TDBGrid si hablas del stringgrid, se supone que debes psarle como texto el 0 o el uno intenta algo asi : Stringgrid.cell[ ColumnaCheck, Fila ] := '0' 2011/6/2 Ismael L. Donis Garc�a <ismael en citricos.co.cu> > Ya logr� que me muestre un checkbox el grid, pero me sale deshabilitado > (en gris) y marcado por defecto, quiero que me salga habilitado (no me salga > en gris) y desmarcado por defecto cuando agrego una nueva fila al grid. > > Como podr�a lograr esto? > > Saludos Reiterados > ========= > || ISMAEL || > ========= > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- Christian ------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Christian ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110603/48c58a3d/attachment.html>

Reply by email

Ismael L. Donis Garcia
to christian Ortiz

No entendiste bien, en los datos que traigo de la consulta no hay problema, el problema es cuando trato de insertar un registro nuevo (dentro del tdbgrid, trabajo dentro del grid, tecleo directo en el grid)

Cuando intento insertar un registro nuevo el campo del tdbgrid que tiene la propiedad .ButtonStyle:=cbsCheckboxColumn; me aparece en gris y marcado por defecto y yo quiero que me aparezca desmarcado y habilitado.

en gris = deshabilitado
si no est� en gris = habilitado

Repito quiero que cuando me mueva para abajo para insertar una nueva fila en el TBDGrid la columna me aparezca habilitada y desmarcado el checkbox. Esto lo he tratado de hacer buscando alguna propiedad y no lo he encontrado, tampoco he encontrado como hacerlo en tiempo de ejecuci�n.

Saludos Reiterados
==========
* ISMAEL *
==========

El 03/06/11 11:18, christian Ortiz escribi�:

Show quoted text 83 lines
si usas un dbgrid, significa q tienes los datos en el dataset, por lo q proviene de una consulta SQL, ahora supongo que el true o false depende de informacion que traes desde la BD, Porqu no traes el booleano directamente desde la consulta? 2011/6/3 Ismael L. Donis Garc�a <ismael en citricos.co.cu <mailto:ismael en citricos.co.cu>> No trabajo con stringgrid, sino con TDBGrid, pero lo que busco no es eso, es ver si existe una propiedad en tiempo de dise�o o en tiempo de ejecuci�n para que el checkbox no lo asuma por defecto en true, sino que lo asuma en false. Si uso eso que expones me entra en edici�n a la hora de insertar un registro y quer�a evitar precisamente eso. Saludos Cordiales ========= || ISMAEL || ========= ----- Original Message ----- *From:* christian Ortiz <mailto:xortix en gmail.com> *To:* Spanish version of Lazarus List <mailto:lazarus-es en lists.lazarus.freepascal.org> *Sent:* Thursday, June 02, 2011 8:43 PM *Subject:* Re: [Lazarus-es] CheckBox en TDBGrid si hablas del stringgrid, se supone que debes psarle como texto el 0 o el uno intenta algo asi : Stringgrid.cell[ ColumnaCheck, Fila ] := '0' 2011/6/2 Ismael L. Donis Garc�a <ismael en citricos.co.cu <mailto:ismael en citricos.co.cu>> Ya logr� que me muestre un checkbox el grid, pero me sale deshabilitado (en gris) y marcado por defecto, quiero que me salga habilitado (no me salga en gris) y desmarcado por defecto cuando agrego una nueva fila al grid. Como podr�a lograr esto? Saludos Reiterados ========= || ISMAEL || ========= _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Christian _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org <mailto:Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es -- Christian _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Paola Bruccoleri
to Ismael L. Donis Garcia

El 03/06/2011 12:52 p.m., Ismael L. Donis Garcia escribi�:

Show quoted text 18 lines
No entendiste bien, en los datos que traigo de la consulta no hay problema, el problema es cuando trato de insertar un registro nuevo (dentro del tdbgrid, trabajo dentro del grid, tecleo directo en el grid) Cuando intento insertar un registro nuevo el campo del tdbgrid que tiene la propiedad .ButtonStyle:=cbsCheckboxColumn; me aparece en gris y marcado por defecto y yo quiero que me aparezca desmarcado y habilitado. en gris = deshabilitado si no est� en gris = habilitado Repito quiero que cuando me mueva para abajo para insertar una nueva fila en el TBDGrid la columna me aparezca habilitada y desmarcado el checkbox. Esto lo he tratado de hacer buscando alguna propiedad y no lo he encontrado, tampoco he encontrado como hacerlo en tiempo de ejecuci�n.

Hola Ismael..
pero como el dbgrid est� asociado a un table/query, porqu� no te fij�s en el valor por defecto de ese campo de la bd? porque cuando insert�s un registro deade ah� mismo, internamente se hace un insert.. ojo, capaz que el control siempre muestra checked sin darle bolilla al valor x defecto...
byeeeeeeeeeee

Reply by email

Jesus Reyes
to Paola Bruccoleri

--- El vie 3-jun-11, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 35 lines
De: Paola Bruccoleri <pbruccoleri en adinet.com.uy> Asunto: Re: [Lazarus-es] CheckBox en TDBGrid A: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Fecha: viernes, 3 de junio de 2011, 11:29 El 03/06/2011 12:52 p.m., Ismael L. Donis Garcia escribi�: > No entendiste bien, en los datos que traigo de la consulta no hay problema, el problema es cuando trato de insertar un registro nuevo (dentro del tdbgrid, trabajo dentro del grid, tecleo directo en el grid) > > Cuando intento insertar un registro nuevo el campo del tdbgrid que tiene la propiedad .ButtonStyle:=cbsCheckboxColumn; me aparece en gris y marcado por defecto y yo quiero que me aparezca desmarcado y habilitado. > > en gris = deshabilitado > si no est� en gris = habilitado > > Repito quiero que cuando me mueva para abajo para insertar una nueva fila en el TBDGrid la columna me aparezca habilitada y desmarcado el checkbox. Esto lo he tratado de hacer buscando alguna propiedad y no lo he encontrado, tampoco he encontrado como hacerlo en tiempo de ejecuci�n. > Hola Ismael.. pero como el dbgrid est� asociado a un table/query, porqu� no te fij�s en el valor por defecto de ese campo de la bd? porque cuando insert�s un registro deade ah� mismo,� internamente se hace un insert.. ojo, capaz que el control siempre muestra checked sin darle bolilla al valor x defecto... byeeeeeeeeeee

"Normalmente" un checkbox se utiliza para indicar dos estados, marcado o desmarcado, lo cual esta determinado por los valores de ValueChecked y ValueUnchecked, si para un nuevo registro el valor del campo es NULL el checkbox se mostrara en un tercer estado que es como ya dijiste un checkbox marcado pero deshabilitado.

Se me ocurren 3 soluciones:

1. Crear un evento OnNewRecord en el Dataset asociado al dbgrid, ah� puedes inicializar los valores de los campos que desees, en este caso podr�as poner por defecto el valor correspondiente a ValueUnchecked.

2. Crear un evento OnUserCheckboxBitmap en el dbgrid, de tal manera que cuando tal evento se active teniendo en el parametro CheckedState=cbGrayed regresemos un bitmap identico al utilizado para CheckedState=cbUnChecked

3. Podr�a agregarle a TColumn una propiedad que nos indique que un valor NULL sea siempre considerado como UnChecked, creo que esta soluci�n seria la mas f�cil para los usuarios pues se har�a en tiempo de dise�o, tambi�n no requerir�a cambiar los datos de NULL a alg�n valor como en el caso 1). Lo �nico es que necesitar�a alg�n tiempo para implementar esta opci�n pues de momento aun me encuentro algo ocupado en otras cosas.

Saludos a todos.

Jes�s Reyes A.

Reply by email

Paola Bruccoleri
to Jesus Reyes

El 03/06/2011 02:37 p.m., Jesus Reyes escribi�:

Show quoted text 14 lines
"Normalmente" un checkbox se utiliza para indicar dos estados, marcado o desmarcado, lo cual esta determinado por los valores de ValueChecked y ValueUnchecked, si para un nuevo registro el valor del campo es NULL el checkbox se mostrara en un tercer estado que es como ya dijiste un checkbox marcado pero deshabilitado. Se me ocurren 3 soluciones: 1. Crear un evento OnNewRecord en el Dataset asociado al dbgrid, ah� puedes inicializar los valores de los campos que desees, en este caso podr�as poner por defecto el valor correspondiente a ValueUnchecked. 2. Crear un evento OnUserCheckboxBitmap en el dbgrid, de tal manera que cuando tal evento se active teniendo en el parametro CheckedState=cbGrayed regresemos un bitmap identico al utilizado para CheckedState=cbUnChecked 3. Podr�a agregarle a TColumn una propiedad que nos indique que un valor NULL sea siempre considerado como UnChecked, creo que esta soluci�n seria la mas f�cil para los usuarios pues se har�a en tiempo de dise�o, tambi�n no requerir�a cambiar los datos de NULL a alg�n valor como en el caso 1). Lo �nico es que necesitar�a alg�n tiempo para implementar esta opci�n pues de momento aun me encuentro algo ocupado en otras cosas. Saludos a todos. Jes�s Reyes A.

Hola Jes�s!
una alegr�a volverte a leer!
cuando tenga tiempo probar� tb tus sugerencias; solo hice algunas pruebas pero con un dateedit dentro del grid y no pude lograr que me funcionara correctamente, o quiz�s no lo supe usar... por tanto, tuve que hacerlo de otra manera (a lo tradiconal, usando un form para editar los datos...)
Alg�n tip para esto?
muchas gracias
chauuuuuuuuu

Reply by email

Ismael L. Donis Garcia
to Paola Bruccoleri: El 03/06/2011 12:52 p.m., Ismael L. Donis Garcia escribi�: Hola Ismael.. pero como el…

El 03/06/11 12:29, Paola Bruccoleri escribi�:

Show quoted text 34 lines
El 03/06/2011 12:52 p.m., Ismael L. Donis Garcia escribi�: > No entendiste bien, en los datos que traigo de la consulta no hay > problema, el problema es cuando trato de insertar un registro nuevo > (dentro del tdbgrid, trabajo dentro del grid, tecleo directo en el grid) > > Cuando intento insertar un registro nuevo el campo del tdbgrid que > tiene la propiedad .ButtonStyle:=cbsCheckboxColumn; me aparece en gris > y marcado por defecto y yo quiero que me aparezca desmarcado y > habilitado. > > en gris = deshabilitado > si no est� en gris = habilitado > > Repito quiero que cuando me mueva para abajo para insertar una nueva > fila en el TBDGrid la columna me aparezca habilitada y desmarcado el > checkbox. Esto lo he tratado de hacer buscando alguna propiedad y no > lo he encontrado, tampoco he encontrado como hacerlo en tiempo de > ejecuci�n. > Hola Ismael.. pero como el dbgrid est� asociado a un table/query, porqu� no te fij�s en el valor por defecto de ese campo de la bd? porque cuando insert�s un registro deade ah� mismo, internamente se hace un insert.. ojo, capaz que el control siempre muestra checked sin darle bolilla al valor x defecto... byeeeeeeeeeee _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Lo que busco precisamente es que no me coja el valor por defecto = 1, sino que lo coja = 0, pero no encuentro por donde.

No uso ni tabla, ni query, todo los estoy trabajando en memoria. No lo tengo enlazado a ninguna BD, todo lo trabajo en memoria

TDBGrid + TMemDataset

Saludos Cordiales
==========
* ISMAEL *
==========

Reply by email

Jesus Reyes
to Paola Bruccoleri: El 03/06/2011 02:37 p.m., Jesus Reyes escribi�: Hola Jes�s! una alegr�a volverte a…

--- El vie 3-jun-11, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 14 lines
Hola Jes�s! una alegr�a volverte a leer! cuando tenga tiempo probar� tb tus sugerencias; solo hice algunas pruebas pero con un dateedit dentro del grid y no pude lograr que me funcionara correctamente, o quiz�s no lo supe usar... por tanto, tuve que hacerlo de otra manera (a lo tradiconal, usando un form para editar los datos...) Alg�n tip para esto? muchas gracias chauuuuuuuuu

Para un dbgrid y sin usar componentes externos, no veo otra manera ya que no contamos con un editor especial para campos de tipo TDatetime debido a esto en alguna ocasion simplemente use un editor de tipo cbsButton y lo asocie a un TCalendarDialog, pero habria que ver exactamente que no funcion�, tienes algun proyecto que aisle este mal funcionamiento?

Jesus Reyes A.

Reply by email

Ismael L. Donis Garcia
to Jesus Reyes: --- El vie 3-jun-11, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:…

El 03/06/11 13:37, Jesus Reyes escribi�:

Show quoted text 60 lines
--- El vie 3-jun-11, Paola Bruccoleri<pbruccoleri en adinet.com.uy> escribi�: > De: Paola Bruccoleri<pbruccoleri en adinet.com.uy> > Asunto: Re: [Lazarus-es] CheckBox en TDBGrid > A: "Spanish version of Lazarus List"<lazarus-es en lists.lazarus.freepascal.org> > Fecha: viernes, 3 de junio de 2011, 11:29 > El 03/06/2011 12:52 p.m., Ismael L. > Donis Garcia escribi�: >> No entendiste bien, en los datos que traigo de la > consulta no hay problema, el problema es cuando trato de > insertar un registro nuevo (dentro del tdbgrid, trabajo > dentro del grid, tecleo directo en el grid) >> >> Cuando intento insertar un registro nuevo el campo del > tdbgrid que tiene la propiedad > .ButtonStyle:=cbsCheckboxColumn; me aparece en gris y > marcado por defecto y yo quiero que me aparezca desmarcado y > habilitado. >> >> en gris = deshabilitado >> si no est� en gris = habilitado >> >> Repito quiero que cuando me mueva para abajo para > insertar una nueva fila en el TBDGrid la columna me aparezca > habilitada y desmarcado el checkbox. Esto lo he tratado de > hacer buscando alguna propiedad y no lo he encontrado, > tampoco he encontrado como hacerlo en tiempo de ejecuci�n. >> > Hola Ismael.. > pero como el dbgrid est� asociado a un table/query, > porqu� no te fij�s en el valor por defecto de ese campo de > la bd? porque cuando insert�s un registro deade ah� > mismo, internamente se hace un insert.. > ojo, capaz que el control siempre muestra checked sin darle > bolilla al valor x defecto... > byeeeeeeeeeee > "Normalmente" un checkbox se utiliza para indicar dos estados, marcado o desmarcado, lo cual esta determinado por los valores de ValueChecked y ValueUnchecked, si para un nuevo registro el valor del campo es NULL el checkbox se mostrara en un tercer estado que es como ya dijiste un checkbox marcado pero deshabilitado. Se me ocurren 3 soluciones: 1. Crear un evento OnNewRecord en el Dataset asociado al dbgrid, ah� puedes inicializar los valores de los campos que desees, en este caso podr�as poner por defecto el valor correspondiente a ValueUnchecked. 2. Crear un evento OnUserCheckboxBitmap en el dbgrid, de tal manera que cuando tal evento se active teniendo en el parametro CheckedState=cbGrayed regresemos un bitmap identico al utilizado para CheckedState=cbUnChecked 3. Podr�a agregarle a TColumn una propiedad que nos indique que un valor NULL sea siempre considerado como UnChecked, creo que esta soluci�n seria la mas f�cil para los usuarios pues se har�a en tiempo de dise�o, tambi�n no requerir�a cambiar los datos de NULL a alg�n valor como en el caso 1). Lo �nico es que necesitar�a alg�n tiempo para implementar esta opci�n pues de momento aun me encuentro algo ocupado en otras cosas. Saludos a todos. Jes�s Reyes A. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Ver� que saco de todo lo que me acabas de explicar dado que mis conocimientos es esta plataforma son muy limitados, pero al menos me has encendido el bombillo de por donde debo mirar.

1 Mill�n de Gracias por todo lo explicado.
==========
* ISMAEL *
==========

Reply by email

Ismael L. Donis Garcia
to Jesus Reyes: --- El vie 3-jun-11, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:…

El 03/06/11 13:37, Jesus Reyes escribi�:

Show quoted text 60 lines
--- El vie 3-jun-11, Paola Bruccoleri<pbruccoleri en adinet.com.uy> escribi�: > De: Paola Bruccoleri<pbruccoleri en adinet.com.uy> > Asunto: Re: [Lazarus-es] CheckBox en TDBGrid > A: "Spanish version of Lazarus List"<lazarus-es en lists.lazarus.freepascal.org> > Fecha: viernes, 3 de junio de 2011, 11:29 > El 03/06/2011 12:52 p.m., Ismael L. > Donis Garcia escribi�: >> No entendiste bien, en los datos que traigo de la > consulta no hay problema, el problema es cuando trato de > insertar un registro nuevo (dentro del tdbgrid, trabajo > dentro del grid, tecleo directo en el grid) >> >> Cuando intento insertar un registro nuevo el campo del > tdbgrid que tiene la propiedad > .ButtonStyle:=cbsCheckboxColumn; me aparece en gris y > marcado por defecto y yo quiero que me aparezca desmarcado y > habilitado. >> >> en gris = deshabilitado >> si no est� en gris = habilitado >> >> Repito quiero que cuando me mueva para abajo para > insertar una nueva fila en el TBDGrid la columna me aparezca > habilitada y desmarcado el checkbox. Esto lo he tratado de > hacer buscando alguna propiedad y no lo he encontrado, > tampoco he encontrado como hacerlo en tiempo de ejecuci�n. >> > Hola Ismael.. > pero como el dbgrid est� asociado a un table/query, > porqu� no te fij�s en el valor por defecto de ese campo de > la bd? porque cuando insert�s un registro deade ah� > mismo, internamente se hace un insert.. > ojo, capaz que el control siempre muestra checked sin darle > bolilla al valor x defecto... > byeeeeeeeeeee > "Normalmente" un checkbox se utiliza para indicar dos estados, marcado o desmarcado, lo cual esta determinado por los valores de ValueChecked y ValueUnchecked, si para un nuevo registro el valor del campo es NULL el checkbox se mostrara en un tercer estado que es como ya dijiste un checkbox marcado pero deshabilitado. Se me ocurren 3 soluciones: 1. Crear un evento OnNewRecord en el Dataset asociado al dbgrid, ah� puedes inicializar los valores de los campos que desees, en este caso podr�as poner por defecto el valor correspondiente a ValueUnchecked. 2. Crear un evento OnUserCheckboxBitmap en el dbgrid, de tal manera que cuando tal evento se active teniendo en el parametro CheckedState=cbGrayed regresemos un bitmap identico al utilizado para CheckedState=cbUnChecked 3. Podr�a agregarle a TColumn una propiedad que nos indique que un valor NULL sea siempre considerado como UnChecked, creo que esta soluci�n seria la mas f�cil para los usuarios pues se har�a en tiempo de dise�o, tambi�n no requerir�a cambiar los datos de NULL a alg�n valor como en el caso 1). Lo �nico es que necesitar�a alg�n tiempo para implementar esta opci�n pues de momento aun me encuentro algo ocupado en otras cosas. Saludos a todos. Jes�s Reyes A. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

No supe como agregar la nueva propiedad, porque no supe como asignar un valor por defecto a la propiedad (aspecto este que debo estudiar m�s), por lo que opte por modificar el procedimiento dentro del TDBGrid y dejar solo 2 valores hasta que Jes�s agregu� la nueva propiedad.

Por tal motivo la implementaci�n de la propiedad la dej� de la forma que sigue:

procedure TCustomDBGrid.DrawCheckboxBitmaps(aCol: Integer; aRect: TRect;
   F: TField);
var
   AState: TCheckboxState;
begin
   if (aCol=Col) and FDrawingActiveRecord then begin
     // show checkbox only if overriden editor is hidden
     if EditorMode then
       exit;
   end;
   // by SSY
   if (Fnil) then
     if F.DataType=ftBoolean then
       if F.IsNull then
	AState := cbUnChecked
       else
       if F.AsBoolean then
         AState := cbChecked
       else
         AState := cbUnChecked
     else
       if F.AsString=ColumnFromGridColumn(aCol).ValueChecked then
         AState := cbChecked
       else
         AState := cbUnChecked
   else
     AState := cbUnChecked;
   DrawGridCheckboxBitmaps(aCol, Row{dummy}, ARect, AState);
end;

De esa forma me funciona como deseo como bien dije antes, en espera de que Jes�s agregu� la nueva propiedad. De todos modos ya antes le hab�a agregado dos propiedades para evitar que te eliminaran filas del grid de forma directa y la otra para que no entrara en modo edici�n cuando presionabas enter, las cuales denomin� en aquel entonces:

dgDelete y dgKeyEdit

Y de las cuales coment� en una ocasi�n a Jes�s por privado, pero que no se si las tuvo en cuenta o no. De todos modos si lo desea le mando las modificaciones que he realizado cuando el pueda echarle un vistazo.

1 Mill�n de Gracias Reiteradas
==========
* ISMAEL *
==========

Reply by email

Paola Bruccoleri
to Jesus Reyes: --- El vie 3-jun-11, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�: Para un…

El 03/06/2011 03:17 p.m., Jesus Reyes escribi�:

Para un dbgrid y sin usar componentes externos, no veo otra manera ya que no contamos con un editor especial para campos de tipo TDatetime debido a esto en alguna ocasion simplemente use un editor de tipo cbsButton y lo asocie a un TCalendarDialog, pero habria que ver exactamente que no funcion�, tienes algun proyecto que aisle este mal funcionamiento?

ahh.. buena idea la de usar el cbsButton con el tcalendardialog.. no se me hab�a ocurrido.. cuando tenga tiempo probar�. No es que no me haya funcionado lo otro; es que al quedar el control en una celda que no era la correcta, sino corrido (en aquella ocasi�n posti� un mail), ya no lo us�!
chauuuu

Reply by email

Ismael L. Donis Garcia
to Paola Bruccoleri

El 03/06/11 17:26, Paola Bruccoleri escribi�:

Show quoted text 23 lines
El 03/06/2011 03:17 p.m., Jesus Reyes escribi�: > > Para un dbgrid y sin usar componentes externos, no veo otra manera ya > que no contamos con un editor especial para campos de tipo TDatetime > debido a esto en alguna ocasion simplemente use un editor de tipo > cbsButton y lo asocie a un TCalendarDialog, pero habria que ver > exactamente que no funcion�, tienes algun proyecto que aisle este mal > funcionamiento? > ahh.. buena idea la de usar el cbsButton con el tcalendardialog.. no se me hab�a ocurrido.. cuando tenga tiempo probar�. No es que no me haya funcionado lo otro; es que al quedar el control en una celda que no era la correcta, sino corrido (en aquella ocasi�n posti� un mail), ya no lo us�! chauuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Paola si te quedaba corrido eso se puede solucionar mediante c�digo en el evento DBGridDrawColumnCell

Ya yo he tenido que manejar esto, en el sistema que estoy desarrollando, no para ese control, pero si para otros controles que al final es lo mismo.

Saludos Afectuosos
==========
* ISMAEL *
==========

Reply by email