Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ver como Boolean un campo en Mysql y Zeos en un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=92967)

Jose Roman 03-04-2018 18:22:08

Ver como Boolean un campo en Mysql y Zeos en un DBGrid
 
Cordial saludo,

Trabajo con MySql, Zeos y Delphi, en un Form tengo un DbGrid el cual muestra los datos de una tabla, dentro de los datos hay un campo TinyInt es el que utiliza MySql como boolean pero este campo lo muestra como 0 y 1, mi pregunta es como mostrar en el dbgrid este campo como Falso o Verdadero o mejor aun SI o NO.

Gracias

ecfisa 03-04-2018 20:04:56

Hola.

Ejemplo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
  ...
  procedure FormCreate(Sender: TObject);
 private
    procedure DataSetCpoBoolGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
 ...
 end;

...

implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  DBGrid1.DataSource.DataSet.FieldByName('BOOL').OnGetText := DataSetCpoBoolGetText;
  // igual sería hacer:
  // ZQuery1.FieldByName('BOOL').OnGetText := DataSetCpoBoolGetText;
end;

procedure TForm1.DataSetCpoBoolGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
const
  SINO: array[0..1] of string = ('No', 'Si');
begin
  Text := SINO[Sender.AsInteger];
end;
...
Si tenes el campo a mostrar como persistente, podes crear el evento OnGetText en tiempo de diseño desde Fields Editor~Object Inspector .

Saludos :)

Jose Roman 03-04-2018 21:32:31

Muchas gracias, genial aporte no podría haberlo resuelto si su ayuda

yusnerqui 04-04-2018 02:35:38

Cita:

Empezado por Jose Roman (Mensaje 525468)
Muchas gracias, genial aporte no podría haberlo resuelto si su ayuda

Otra idea muy elegante es mostrar la columna estilo checkbox como nos comentan en este hilo los amigos del foro

http://www.clubdelphi.com/foros/showthread.php?t=12672

Saludos


La franja horaria es GMT +2. Ahora son las 16:10:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi