Есть master-таблица Clients и detail-таблица Orders, связанные между собой Clients.id <-> Orders.client_id. Переключаюсь между записями Clients — всё ок, в гриде с Orders выбираются заказы соответствующего клиента. Перехожу на запись клиента, у которого ещё не было заказов — всё верно, в гриде Orders записей нет. Однако, когда я возвращаю курсор Clients на запись, для которой в detail-таблице записи есть, в грид попадают все записи Orders. Перемещаюсь обратно, возвращаюсь — опять все записи, да ещё в двойном экземпляре. Обновляю detail-набор через Refresh — всё ок, нужное количество.
Наборы данных — TClietDataSet, грид — TDBGridEh.
Как с этим бороться? И ещё, нужно ли задавать IndexFieldName для detail-таблиц?