Добрый день.
Настройте Lookup поле на полный список.
А SpecDataSet с ограниченным списком присвойте свойтсву - Column.DropDownBox.ListSource
В событии TDataSource.DataChange (DataSource привязанный к гриду) можно менять фильтр в SpecDataSet в зависисмости от значений такущий записи грида.
Это вопрос описан в "EhLib - Руководство разработчика.doc" в разделе "Расширенная настройка выпадающего списка в Combobox’ах."
Цитата:
DropDownBox.ListSource
Это свойство можно использовать для нескольких случаев:
1. Вы можете присвоить этому свойству TDataSource объект, который ссылается на специальный DataSet, список значений которого отличается от полного списка значений, заданного в TField.LookupDataSet. Например, DataSet, указанный в DBGridEh.DataSrouce.DataSet и DataSet, указанный в TColumnEh.DropDownBox.ListSource.DataSet состоят в отношении Master-Detail. При выборе определенной записи в DBGridEh список ListSource.DataSet будет заполнен только нужными значениями согласно Master-Detail отношению, который и будет отображаться, когда пользователь нажмет кнопку открытия выпадающего списка в редакторе текста в гриде для этого lookup столбца.