A ver si esto te sirve.
Teniendo ya en cuenta que posicionas el cursor en la fila que quieres marcar, habría que hacer que dentro de esa fila se posicione en la columna deseada, lo peudes hacer de dos maneras, sabiendo el nombre de la columna o sabiendo el índice de la misma.
Te pongo mas o menos un ejemplo de cada a ver si te sirve
Sabiendo el número de la columna:
Código Delphi
[-]
procedure FocusCell(
const DBGrid : TDBGrid;
const column : integer) ; overload;
begin
with TStringGrid(DBGrid) do
begin
Col := column;
SetFocus;
end;
end;
Y sabiendo el nombre de la columna:
Código Delphi
[-]
procedure FocusCell(
const DBGrid : TDBGrid;
const fieldName : string) ; overload;
var
column : integer;
idx : integer;
begin
column := 0;
for i:= 0 to -1 + DBGrid.Columns.Count do
begin
if DBGrid.Columns[idx].FieldName = fieldName then
begin
column := 1 + idx;
Break;
end;
end;
if column > 0 then FocusCell(DBGrid,column) ;
end;
Espero que te solucione el problema, un saludo