x11 Posted May 9, 2020 Posted May 9, 2020 UniDBLookupComboBox привязан к столбцу сетки UniDBGrid. Хочу сделать так, чтобы когда пользователь сделал выбор и список UniDBLookupComboBox закрылся, то выполнить DataSet.Post. Пробовал 2 события: OnCloseUp и OnSelect - if DataSet1.State in dsEditModes then DataSet1.post; Но проблема в том, что в этих событиях в момент закрытия списка сам DataSet1, который привязан к сетке, находится в режиме dsBrowse. В общем, как правильно записать выбор пользователя в базу при закрытии списка? Quote
Sherzod Posted May 9, 2020 Posted May 9, 2020 54 minutes ago, x11 said: Хочу сделать так, чтобы когда пользователь сделал выбор и список UniDBLookupComboBox закрылся, то выполнить DataSet.Post. Попробуйте такое решение: UniDBLookupComboBox.ClietnEvents.ExtEvents -> function select(combo, record, eOpts) { combo.blur(); } 1 Quote
x11 Posted May 9, 2020 Author Posted May 9, 2020 Да, помогло, спасибо. В паре с if DataSet1.State in dsEditModes then DataSet1.post; теперь сохраняется значение в базу сразу при закрытии. Но хотелось бы в будущем, чтобы это работало без добавления combo.blur(); Quote
x11 Posted May 9, 2020 Author Posted May 9, 2020 Чтобы не создавать похожую тему, задам вопрос здесь. Возможно ли сделать так, чтобы привязанный к столбцу выпадающий список UniDBLookupComboBox автоматически выпадал, когда пользователь вызывает ячейку таблицы на редактирование? Ну т.е. когда пользователь делает двойной щелчок мышкой по ячейке этого столбца. Потому что неудобство в том, что приходится делать аж ТРИ щелчка по ячейке, чтобы выпал список. Спасибо. Quote
Sherzod Posted May 9, 2020 Posted May 9, 2020 22 minutes ago, x11 said: Возможно ли сделать так, чтобы привязанный к столбцу выпадающий список UniDBLookupComboBox автоматически выпадал, когда пользователь вызывает ячейку таблицы на редактирование? Попробуйте: procedure TMainForm.UniFormCreate(Sender: TObject); begin UniDBLookupComboBox1.JSInterface.JSAddListener('focus', 'function(){this.expand()}'); end; 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.