a que te refieres con cifrar los datos sensibles??? si solo se trata de ocultarlos de ojos indiscretos puedes poner un boton que de paso a introducir una contraseña para visualizar esos campos "sensibles" y ocultarlos asi:
Ve al campo que deseas ocultar en el DBGrid.
Implementa el evento OnGetText del campo correspondiente en el DataSet.
En el evento OnGetText, puedes reemplazar el contenido del campo por asteriscos cuando se muestre en el DBGrid, pero manteniendo el valor original en la base de datos.
Delphi:
Código:
procedure TForm1.MyFieldGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
// Comprobar si el campo se está mostrando en el DBGrid
if DisplayText then
begin
// Reemplazar el valor original con asteriscos
Text := StringOfChar('*', Sender.AsString.Length);
end;
end;
C++ Builder:
Código:
void __fastcall TForm1::MyFieldGetText(TField *Sender, UnicodeString &Text, bool DisplayText)
{
// Comprobar si el campo se está mostrando en el DBGrid
if (DisplayText)
{
// Reemplazar el valor original con asteriscos
Text = StringOfChar('*', Sender->AsString.Length());
}
}
y activarlo o desactivarlo con un IF comprobando la contraseña, yo algo asi hice hace tiempo para un programa mio