Hola
Mira con este ejemplo tomado desde el "Help de delphi" te va a quedar mas claro el problema. Solo Modifique la asignacion del "DisplayLabel" para graficar mejor la situacion:
El ejemplo siguiente requiere de una Grilla, un DataSource y un Table.
con las siguientes asignaciones en la tabla:
Table1.DatabaseName := 'DBDEMOS';
Table1.TableName := 'biofile.db';
... Entonces cada vez que pinches una celdilla o te muevas con las teclas de flecha hacia la isquierda o derecha, en la cabecera de la columna de la celdilla pinchada aparecera un asterisco y los primeros 4 caracteres del campo 'Category'. No ocurrira lo mismo si te mueves con las teclas de flecha hacia arriba o hacia abajo. A pesar de que el campo 'Category' ya tiene otro contenido.
Espero haberme explicado mejor...
Saludos
Jose Miguel B.
var
Form1: TForm1;
StarIsThere: Boolean;
implementation
{$R *.dfm}
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
with DBGrid1.SelectedField do
DisplayLabel := '* ' + copy( Table1.FieldByName('Category').AsString,1,4)+ '* '+ DisplayLabel;
StarIsThere := True;
end;
procedure TForm1.DBGrid1ColExit(Sender: TObject);
var
TheLabel: string;
begin
if StarIsThere then
begin
with DBGrid1.SelectedField do
begin
TheLabel := DisplayLabel;
Delete(TheLabel, 1, 8);
DisplayLabel := TheLabel;
end;
end;
end;
|