PDA

Ver la Versión Completa : Modificar Datos Grid de Consulta


DANFIR
14-11-2003, 07:44:47
Hola amigos del Club:

Mi problema es el siguiente, tengo un grid enlazado a una Query, en un campo de la consulta me arroja por ejemplo los datos 0,1,0,1,0,0 etc......Necesito que en lugar de que salgan estos numeros se visualice cuando es 1 Finalizado y cuando es 0 No finalizado...por ejemplo.

Si ustedes me podrian decir como puedo hacer esto...por medio de una funcion al realizar el select del Query ó en el evento draw del grid o algo parecido...

Agradezco su Ayuda desde Colombia

Danilo :)

marcoszorrilla
14-11-2003, 08:08:42
Crea un campo calculado:

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
If Table1Orderno.Value > 9000 then
Table1Nuevo.value:='Sí'
else
Table1Nuevo.value:='No'
end;

Un Saludo.

LucasArgentino
14-11-2003, 14:48:05
Si estas usando un componente Query y al campo que te refieres es un tipo boolean, puedes poner en el editor de campos en el campo correspondiente la propiedad display values Si;No Por ejemplo o Cargado;Descargado. Con esto estaras visualizando el mensaje que tu quieras en cualquier control relacionado...

Espero te sirva suerte...

LucasArgentino
14-11-2003, 14:49:24
Si estas usando un componente Query y al campo que te refieres es un tipo boolean, puedes poner en el editor de campos en el campo correspondiente la propiedad display values Si;No Por ejemplo o Cargado;Descargado. Con esto estaras visualizando el mensaje que tu quieras en cualquier control relacionado...

Espero te sirva suerte...

DANFIR
14-11-2003, 15:41:46
El campo a evaluar en el Query no es de tipo Booleano, es de tipo entero.
Necesito validar por ejemplo si es 1 colocarle 'General' y si es otro numero por ejeemplo 22 colocar 'Especifico del 22'.
Marcos......no comprendo muy bien tu sugerencia si me la pudieras aclarar..

Agradezco su ayuda
:)

marcoszorrilla
14-11-2003, 16:18:34
La sugerencia consiste en crear un campo calculado en la consulta y en en el evento OnCalcFields colocar el valor que te interesese.


procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
If Table1Orderno.Value > 9000 then
Table1Nuevo.value:='Sí'
else
Table1Nuevo.value:='No'
end;



El ejemplo no tienes más que adaptarlo es decir substituir el Ttable por un Tquery y el resto lo mismo.

Un Saludo.

jachguate
14-11-2003, 16:52:57
Tambien podes valerte de los eventos OnGetText y OnSetText del field.

Algo como:


Procedure TForm1.Query1CampoGetText(field : TField; Var DisplayText : String);

begin
if Query1Campo.Value = 1 Then
DisplayText := 'Verdadero'
else if Query1Campo.Value = 0 Then
DisplayText := 'Falso'
else
DisplayText := 'Error';
end;


Para mas informacion, consulta la ayuda.

Hasta luego.

;)