PDA

Ver la Versión Completa : como editar el caption de una tdbedit boolean


asdbernardo
05-10-2011, 07:56:39
Buenas gente! Saludos...

necesito resolver unas dudas... es la siguiente como hago para que un tdbcombobox que tenga boolean de parametro, en este caso me trae TRUE y FALSE, como puedo decirle a el que Activado es lo que debe mostrar en vez de true o false, es decir, activado es = a true, y Desactivado = a false? tendra alguna caracteristica para renombrar lo que trae por un caption personalizado y no afectar lo que trae? no se si me explique

Gracias de antemano...

Neftali [Germán.Estévez]
05-10-2011, 09:50:23
Yo no te he entendido muy bien. :(

Primero hablas de un DBEdit (en el título) y luego de un DBComboBox. ¿Los valores vienen de Base de Datos?
¿Están almacenados como String?

A veces se puede "repintar" el contenido, a veces se puede usar otro control para mostrar valores distintos y el DBComboBox dejarlo oculto; Tal vez también puedas cambiar los valores en la propiedad DisplayValue del TField...

Casimiro Notevi
05-10-2011, 13:51:57
Yo no te he entendido muy bien. :(
Primero hablas de un DBEdit (en el título) y luego de un DBComboBox. ¿Los valores vienen de Base de Datos?


Un tdbedit boolean, un tdbcombobox con parámetro boolean, cómo decirle que está activado lo que debe mostrar.

Una aclaración falta.

asdbernardo
05-10-2011, 17:09:38
Yo no te he entendido muy bien. :(

Primero hablas de un DBEdit (en el título) y luego de un DBComboBox. ¿Los valores vienen de Base de Datos?
¿Están almacenados como String?

A veces se puede "repintar" el contenido, a veces se puede usar otro control para mostrar valores distintos y el DBComboBox dejarlo oculto; Tal vez también puedas cambiar los valores en la propiedad DisplayValue del TField...

Tienes razon, en el titulo me equivoque porque reformule la pregunta para ver si me entendia mejor...

es un dbcombobox que el valor boolean viene de la base de datos y Muestra True o False depende de como se guardo, por lo que quiero que muestre a la vista en vez de TRUE o FALSE, me muestre 'Activado' = True y 'Desactivado' = false.

Y con respecto a las alternativas, cual es la mejor...?

Gracias y saludos.

Caro
05-10-2011, 17:35:25
Hola asdbernardo, puedes utilizar el evento OnGetText de tu campo:


procedure QueryEstadoGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsBoolean then
Text := 'Activado'
else
Text := 'Desactivado';
end;


Saluditos

asdbernardo
05-10-2011, 17:38:15
Hola asdbernardo, puedes utilizar el evento OnGetText de tu campo:


procedure QueryEstadoGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsBoolean then
Text := 'Activado'
else
Text := 'Desactivado';
end;


Saluditos

Gracias caro muy amable, ahora el procedure es en el dataset? yo utilizo unidac es decir unitable, datasource, etc. alli como va?
porq te recuerdo es un tdbcombobox. y en los eventos no veo el ongettext

Saludos y Gracias de nuevo!

Caro
05-10-2011, 17:46:36
....... ahora el procedure es en el dataset? yo utilizo unidac es decir unitable, datasource, etc. alli como va?
porq te recuerdo es un tdbcombobox. y en los eventos no veo el ongettext


Hola, el OnGetText esta en los eventos de tu campo, tu campo debe ser persistente (hacer doble click sobre tu dataset (UniTable) y añades tus campos), seleccionas el campo en cuestión y veras sus eventos.

Saluditos

asdbernardo
05-10-2011, 18:21:06
Hola, el OnGetText esta en los eventos de tu campo, tu campo debe ser persistente (hacer doble click sobre tu dataset (UniTable) y añades tus campos), seleccionas el campo en cuestión y veras sus eventos.

Saluditos

Listo caro, encontre y use tu codigo, Y me mostro lo que queria, pero sigo con el mismo problema, ya que no simula que Activado = true, y tampoco que Desactivado = false, y me marca este error( 'Activado' is not a valid boolean value for field 'borrado' ) me esta generando el mismo error que mostrar directamente desde el tdbcombobox en el parametro Items. y colocar Activado y Desactivado. me marca el mismo error :(

Saludos caro, de nuevo muchas gracias!

Caro
05-10-2011, 18:39:21
Supongo que te da el error al grabar los datos, para que tome los valores correctos, puedes utilizar el evento OnSetText de tu mismo campo:


procedure QueryEstadoSetText(Sender: TField;
const Text: String);
begin
if Text='Activado' then
Sender.Value := True
else
Sender.Value := False;
end;


Saluditos

asdbernardo
05-10-2011, 18:44:21
Supongo que te da el error al grabar los datos, para que tome los valores correctos, puedes utilizar el evento OnSetText de tu mismo campo:


procedure QueryEstadoSetText(Sender: TField;
const Text: String);
begin
if Text='Activado' then
Sender.Value := True
else
Sender.Value := False;
end;


Saluditos

Si es correcto mi querida Caro, pero no tenia conocimientos de estos eventos.. me estoy iniciando en el delphi.. trabajo en un programita sencillo.. GRacias probare y te cuentO!

Saludos !