Cześć, mam sobie dataseta i smdbGrida.
Mam wyświetlone w gridzie jakieś dane i użytkownik może zmieniać zawartość jednej kolumny.
Jednak, gdy ustawiam się na ostatnim rekordzie i wciskam TAB, to automatycznie dodaje się kolejny pusty rekord. Jak temu zapobiec?
Próbowałem w zdarzeniu grida: OnAppendRecord wywołać cichy wyjątek, ale to nic nie dało. Próbowałem też w tym zdarzeniu dać DataSet.Cancel, ale wychodzi na to, że chyba OnAppendRecord jest wywoływana przed append.
Jak to można zablokować?
[DOPISANE]
OK, poradziłem sobie. W zdarzeniu datasetu AfterInsert należy wpisać:
if dataset.RecNo = -1 then dataset.Cancel;
Okazało się, że po wywołaniu Insert, recNo przyjmuje wartość -1.