DBLookUPComboBoxEh сразу не обновляет поле в таблице

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
savl
Сообщения: 19
Зарегистрирован: 19 июн 2005, 11:49

DBLookUPComboBoxEh сразу не обновляет поле в таблице

Сообщение savl » 27 июн 2006, 13:09

Здравствуйте

Использую DBLookUPComboBoxEh. (3.6)
Если в DataSet-е сделать обно из полей LookUp и
на форму положить DBGrid и DBLookUPComboBoxEh(DataField - наше поле).
При измененнии пользователем значения в DBLookUPComboBoxEh, в Grid-е поле изменяется только после сдвига курсора на другое поле.
А в стандартном DBLookUPComboBox поле меняется сразу.
Как сделать чтобы DBLookUPComboBoxEh поле тоже менялось сразу?

Спасибо.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 27 июн 2006, 13:35

В обработке события комбобокса OnChange вставь код:
(Sender as TDBLookupComboBoxEh).UpdateData;
Это заставит его записывать измененное значение в набор.

savl
Сообщения: 19
Зарегистрирован: 19 июн 2005, 11:49

Сообщение savl » 27 июн 2006, 13:49

Если так пишу, то выпадает ошибка Not in edit mode.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 27 июн 2006, 14:03

Добавь проверку на состояние датасета. Кстати, можно тогда сделать так:

Код: Выделить всё

if Sender is TDBLookupComboBoxEh then
  if TDBLookupComboBoxEh(Sender).DataSource.State in [dsEdit, dsInsert] then
    TDBLookupComboBoxEh(Sender).UpdateData;

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 27 июн 2006, 14:07

Вот ради этого Борланды и мучились над VCL и DB-aware контролами... :twisted: (Это ехидство растет из другой темы.)

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 27 июн 2006, 14:27

Dimitry Sibiryakov писал(а):Вот ради этого Борланды и мучились над VCL и DB-aware контролами... :twisted: (Это ехидство растет из другой темы.)
Да помню, помню... :wink:.

savl
Сообщения: 19
Зарегистрирован: 19 июн 2005, 11:49

Сообщение savl » 27 июн 2006, 15:37

Что за тема? Дайте почитать.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 27 июн 2006, 15:58

Там не то, чтобы тема... Так, пара постов про db-aware :).
http://forum.ibase.ru/phpBB2/viewtopic.php?t=2211

Ответить