В опциях DBGrid'а убрать dgEditing и поставить dgRowSelect, а при двойном щелчке мыши берешь делаешь типа такого:
Код:
function buildstring:string;
var
i:integer;
begin
result:='';
for i:=0 to DBGrid.DataSource.DataSet.FieldCount-1 do
result:=result+DBGrid.DataSource.DataSet.Fields[i].AsString+';';
end;
в результате получишь строку вида:
"значение_поля_1;значение_поля_2;...;значение_поля _N;"
и передавай ее куда хочешь
