afiget спасибо. помогло.
Но теперь возникла другая проблема
Подскажите, пожалуйста, как заставить работать такое:
в Grid есть LookupComboBox поле(показывается название, редактируется id). При выборе значения в этом поле нужно провести дополнительную проверку. если id=определенному значению(или назнание='дата'), то нужно удалить значения из другой колонки( 'col1') этой записи.
Для этого на onValidate вешается обработчик, в котором
if DisplayValue='дата' then
begin
OracleDataSet1.Edit;
OracleDataSet1.FieldValues['col1']:='AAAA';
OracleDataSet1.Post;
end;
В таков виде это не работает - изменяется значение в col1, но при этом не изменяется id(для редактирования которого и предназначено LookupComboBox поле).
можно было попробовать обойти эту проблему и тем же OracleDataSet1.FieldValues['id'] присвоить значение. Вопрос только в том как это самое значение получить? DisplayValue содержит название, а не необходимый id. И cxGridDBTableView1.DataController.Values[dc.FocusedRecordIndex,cxGridDBTableView1ID.Index] возвращает null.
Или есть другой способ редактирования данных, при котором бы сохранялось и значения из лукап поля?