![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Задержка с обновлением ? [D6, IB6.x, ]
NightMan © (2002-01-25 14:17:00)Ув. Мастера ПАМАГИТЕ!!! разобраться с глюком в TdxDBTreeList из библиотеки "Developer Express".
TdxDBTreeList->OptionsDB->etoCancelOnExit = false. Процесс:1. F2, редактирую строку, Enter (подтверждаю ввод), закрываю форму - данные несохранены. 2. F2, редактирую строку, Enter (подтверждаю ввод), перехожу на другую строку, закрываю форму - данные сохранены.
Вопрос : как добится сохранения записи не переходяна др. строку ?
Petrovich (2002-01-28 18:52:00) [1]Все правильно. etoCancelOnExit отвечает за Post при потере фокуса гридом. При закрытии формы фокус не перемещается, соответственно Post не происходит.
Лучший вариант, IMHO, корректно обрабатывать закрытие формы, например:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var ConfirmResult: Integer;
begin
CanClose := True;
if not (Dataset1.State in [dsBrowse]) then
begin
ConfirmResult := MessageDlg("Data was changed. Apply changes?", mtConfirmation, mbYesNoCancel, 0);
if ConfirmResult = IDYES then
Dataset1.Post;
if ConfirmResult = IDCANCEL then
CanClose := False;
end;
end;
NightMan (2002-01-28 15:20:00) [2]Мыщь тоже ловить ? Может подскажете болле простой DBTreeList, а то этот и большущий и глюковатый слегка :(
NightMan (2002-01-28 15:18:00) [3]Мыщь тоже ловить ?
Diana (2002-01-28 13:41:00) [4]1) Обработай событие нажатия на Enter, принудительно делая при этом Post DataSet-у
2) На выходе из формочки проверяй состояние DS и если он не в браузера (DataSource1.State in [dsEdit, dsInsert];) делай Post
Севостьянов Игорь (2002-01-28 10:48:00) [5]
Будешь пользоваться стандартными компонентами или сам каккие писать и проблем будет меньше и ответов больше. Кто гарантирует что компоненты не глючат ? Смотри сырцы, DEBUG... Может поможет
NightMan (2002-01-25 19:22:00) [6]А в ответ тишина!Неужто слабо ответить? Аль никто не знает?