Witam,
Mam problem, chcę wyświetlić w jednej kolumnie dbgrid nazwę np. "Produkt-1", "Produkt-2", ale nie biorę tej danej w bazy tylko tworzę j dynamicznie poprzez procedurę "CalcFields" ado_query. W procedurze tej wpisuję nazwę i licznikiem zwiększam o jeden. Wszystko działa dobrze do czasu kiedy chce zapamiętać zaznaczony wiersz w grid i po odświerzeniu danych (wczytaniu danych jeszcze raz) zaznaczyć poprzednio zapisana pozycję (numer wiersza). Po takiej operacji numeracja wariuje, zaznaczony wiersz ma numer jeden, wiersz nad nim 2, a pod nim 3.
Da się to zrealizować bez przechowywania takich danych w bazie?
procedure TForm_ryzyko_lista.ADO_Query_listaCalcFields(DataSet: TDataSet);
begin
begin
ADO_Query_listasymbol.AsString:='-';
end
else
begin
ADO_Query_listasymbol.AsString:='Produkt-'+inttostr(global_i);
global_i:=global_i+1;
end;
end;
zapis pozycji:
MyBookMark:=ADO_Query_lista.Bookmark;
odczyt pozycji:
ADO_Query_lista.Bookmark:=MyBookMark;