![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление из TADOQuery записей [D7, XP]
sanya_m © (2014-07-17 22:27:00)Привет, мастера!
Ситуация такая: есть TDBGrid в котором отображаются результаты SQL- запроса из TADOQuery.
Вопрос 1: Можно ли отключить добавление записей в этот TDBGrid по кнопке Insert, т.е. запретить?
Вопрос 2: как сделать чтобы при нажатии CTRL+Delete удалялись не только выбранная запись, но и определенная запись из другой таблицы или запроса?
Заранее спасибо!!!
MonoLife (2014-07-22 09:46:00) [1]>Вопрос 1:
DBGrid.Options =>dgEditing=>false
Inovet (2014-07-20 07:28:00) [2]> [10] icWasya © (19.07.14 21:02)
> Cancel - закроет форму
TDataSet.Cancel
icWasya (2014-07-19 21:02:00) [3]to Inovet © (19.07.14 13:09) [9]
>> [6] junglecat (19.07.14 12:44)
>> OnBeforeInsert - Abort()
>Cancel не мягче будет?
Cancel - закроет форму
Abort() - прерывает работу текущего обработчика события.
Inovet (2014-07-19 13:09:00) [4]> [6] junglecat (19.07.14 12:44)
> OnBeforeInsert - Abort()
Cancel не мягче будет?
эта пять (2014-07-19 13:03:00) [5]Удалено модератором
эта пять (2014-07-19 12:47:00) [6]Предлагаешь выломать клавишу из клавиатуры?
предлагаю вспомнить что у грида нет кнопки инсерт.
то есть она либо пользовательская, либо клавиатурная железная.
в первом случае смотрим выше, во втором тоже куча вариантов.
от revoke insert до триггеров instead
но автору это не поможет, потому что это все эти пункты для программиста.
а он
в Options можно поставить "только чтение", но это мне не походит.
junglecat (2014-07-19 12:44:00) [7]> Вопрос 1: Можно ли отключить добавление записей в этот TDBGrid
> по кнопке Insert, т.е. запретить?
совсем запретить? OnBeforeInsert - Abort()
> Вопрос 2: как сделать чтобы при нажатии CTRL+Delete удалялись
> не только выбранная запись, но и определенная запись из
> другой таблицы или запроса?
OnAfterDelete
if (GetKeyState(VK_CONTROL) and $8000) <> 0) then
//удалить из другой таблицы
либо
OnKeyDown
if (Key = VK_DELETE) then begin
// удалить из основной
if (ssCtrl in ShiftState) then
// удалить из другой
end
Германн (2014-07-19 01:52:00) [8]
> эта пять (18.07.14 10:12) [3]
>
> Можно ли отключить добавление записей в этот TDBGrid по
> кнопке Insert, т.е. запретить?
>
> Можно.
> Убрать кнопку инсерт
Предлагаешь выломать клавишу из клавиатуры?
> sanya_m (18.07.14 08:55) [2]
>
> в Options можно поставить "только чтение", но это мне не походит.
Тогда сложно.
sanya_m (2014-07-18 23:33:00) [9]
> Убрать кнопку инсерт, убрать обработчки кнопки инсерт
А как убрать кнопку Инсерт? Я не хочу ставить ловушки нажатий кнопок.
эта пять (2014-07-18 10:12:00) [10]Можно ли отключить добавление записей в этот TDBGrid по кнопке Insert, т.е. запретить?
Можно.
Убрать кнопку инсерт, убрать обработчки кнопки инсерт, не убирать обработчик но ничего не делать в нем.
sanya_m (2014-07-18 08:55:00) [11]в Options можно поставить "только чтение", но это мне не походит.
Cobalt (2014-07-17 23:30:00) [12]1) Да. см свойства, что-то типа Options
2) см. события типа After/BeforeDelete