Może mało precyzyjnie wyraziłem się w temacie, ale już tłumaczę.

Mam dwa DBGridy (DBGrid1 i DBGrid2). Z każdym mam powiązane komponenty: SQLQuery, DataSetProvider, ClientDataSet, DataSource.
Oba DBGridy powiązane są ze sobą przez indeksy.
Po wyborze rekordu w DBGrid1, odświeża się DBGrid2 pokazując rekordy związane z wybranym rekordem w DBGrid1.

Chciałbym, aby po odświeżeniu (przerysowaniu) DBGrid2 automatycznie wykonały się pewne obliczenia, do których biorę dane z rekordów pokazanych w DBGrid2.
Na razie wykonałem oddzielną procedurę i podpiąłem ją pod zwykły Button, który muszę wcisnąć, aby wykonały się obliczenia.
Próbowałem wielu różnych zdarzeń powiązanych z DataSource2, ClientDataSet2, DBGrid2, ale coś nie mogę osiągnąć tego co chcę.
Przykładowo ... zdarzenie DataSource.OnDataChange nie nadaje się, bo wywoływane jest po każdym przesunięciu kursora w ClientDataSet2, a ja potrzebuję, aby wywołanie nastąpiło tylko raz: klikam na rekordzie w DBGrid1, pokazują się nowe dane (rekordy) w DBGrid2, a następnie wykonuje się moja procedura.