por ejemplo este código...
Código Delphi
[-]procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin if gdSelected in State then
Label1.Caption:= DBGrid1.DataSource.DataSet.FieldByName('NombreCampo').AsString;
end;
el va a tomar solo el valor del NombreCampo en la fila donde de clic, en mi caso no es un campo fijo, sino el mismo
campo sobre el que se de clic, es decir solo tomará el valor del dato NombreCampo si se le da click encima de ese campo.
por eso no me sirve me imagino debo trabajar con alguna propiedad que use el Field pero trabaje directamente con el
valor de la celda.
Código Delphi
[-]
var
rowDelta: Integer; row: integer;
recNo: integer; ds : TDataSet;
begin ds := THackDBGrid(DBGrid1).DataSource.DataSet;
rowDelta := -1 + THackDBGrid(DBGrid1).Row;
row := ds.RecNo; ds.Refresh;
with ds do begin DisableControls;
RecNo := row; MoveBy(-rowDelta) ;
MoveBy(rowDelta) ;
EnableControls;
ShowMessage(IntToStr(rowDelta));
ShowMessage(IntToStr(row));
ShowMessage(IntToStr(recNo));
Este código lo encontre en otra página, pero el chico lo usa para el caso de calcular posiciones, lo he
intentado llevar a lo que quiero pero no lo entiendo del todo lamentablemente.