powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DbLookupComboBox
7 сообщений из 7, страница 1 из 1
DbLookupComboBox
    #40129802
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только сейчас заметил, допустим, есть DbLookupComboBox, выбрали в нем значение, значение записывается в нужное поле DataSet, но фокус не переместился на другой элемент управления и в итоге если нажать какую-нибудь кнопку Сохранить, где проверяется
а не пустое ли значение поля DataSet, привязанное к данному DbLookupComboBox и все равно пишет, что пустое, как можно выйти из ситуации?
...
Рейтинг: 0 / 0
DbLookupComboBox
    #40129824
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wsnet
фокус не переместился на другой элемент управления и в итоге если нажать какую-нибудь кнопку Сохранить,

При нажатии на кнопку фокус на неё не переместился?
...
Рейтинг: 0 / 0
DbLookupComboBox
    #40129844
Фотография _avz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к примеру, перед сохранением перевести фокус программно
...
Рейтинг: 0 / 0
DbLookupComboBox
    #40129860
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъПри нажатии на кнопку фокус на неё не переместился?

Вангую, что этот чудак использовал TSpeedButton вместо TButton.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
DbLookupComboBox
    #40129885
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Вангую, что этот чудак использовал TSpeedButton вместо TButton.

Делаю ставку на TToolButton
...
Рейтинг: 0 / 0
DbLookupComboBox
    #40129894
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_avz
к примеру, перед сохранением перевести фокус программно

+1.
В "модальных" формах (в которых редактируется запись) в OnCloseQuery перевожу фокус на кнопку "OK":
Код: pascal
1.
2.
  if ModalResult = mrOk then begin
    SetFocusIfPossible(btnOk); // Фиксация изменений

SetFocusIfPossible()
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure ***.SetFocusIfPossible(aControl: TWinControl);
var
  fCF: TCustomForm;
begin
  fCF := GetParentForm(aControl);
  if Assigned(fCF) and fCF.Visible and aControl.CanFocus then
    aControl.SetFocus;
end;




Если нет "кнопок", перевожу фокус на что-то другое, например, на грид - если редактирование выполнялось "в гриде".
Код: pascal
1.
SetFocusIfPossible(VST)
...
Рейтинг: 0 / 0
DbLookupComboBox
    #40129967
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet
Только сейчас заметил, допустим, есть DbLookupComboBox, выбрали в нем значение, значение записывается в нужное поле DataSet, но фокус не переместился на другой элемент управления и в итоге если нажать какую-нибудь кнопку Сохранить, где проверяется
а не пустое ли значение поля DataSet, привязанное к данному DbLookupComboBox и все равно пишет, что пустое, как можно выйти из ситуации?
Не знаю, та ли ситуация, но бывает, что датасет находится при этом в режиме редактирования.
Можно добавить что-то типа такого в обработчике нажатия кнопки:
Код: pascal
1.
2.
if Dataset.State in [dsEdit, dsInsert]
then Dataset.Post;


p.s. до того, как сохраняете в БД.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DbLookupComboBox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]