Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.02.14;
Скачать: CL | DM;

Вниз

Удаление из TADOQuery записей   Найти похожие ветки 

 
sanya_m   (2014-07-17 22:27) [0]

Привет, мастера!
Ситуация такая: есть TDBGrid в котором отображаются результаты SQL- запроса из TADOQuery.
Вопрос 1: Можно ли отключить добавление записей в этот TDBGrid по кнопке Insert, т.е. запретить?

Вопрос 2: как сделать чтобы при нажатии CTRL+Delete удалялись не только выбранная запись, но и определенная запись из другой таблицы или запроса?

Заранее спасибо!!!


 
Cobalt ©   (2014-07-17 23:30) [1]

1) Да. см свойства, что-то типа Options
2) см. события типа After/BeforeDelete


 
sanya_m   (2014-07-18 08:55) [2]

в Options можно поставить "только чтение", но это мне не походит.


 
эта пять   (2014-07-18 10:12) [3]

Можно ли отключить добавление записей в этот TDBGrid по кнопке Insert, т.е. запретить?

Можно.
Убрать кнопку инсерт, убрать обработчки кнопки инсерт, не убирать обработчик но ничего не делать в нем.


 
sanya_m   (2014-07-18 23:33) [4]


> Убрать кнопку инсерт, убрать обработчки кнопки инсерт

А как убрать кнопку Инсерт? Я не хочу ставить ловушки нажатий кнопок.


 
Германн ©   (2014-07-19 01:52) [5]


> эта пять   (18.07.14 10:12) [3]
>
> Можно ли отключить добавление записей в этот TDBGrid по
> кнопке Insert, т.е. запретить?
>
> Можно.
> Убрать кнопку инсерт

Предлагаешь выломать клавишу из клавиатуры?

> sanya_m   (18.07.14 08:55) [2]
>
> в Options можно поставить "только чтение", но это мне не походит.

Тогда сложно.


 
junglecat   (2014-07-19 12:44) [6]

> Вопрос 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 12:47) [7]

Предлагаешь выломать клавишу из клавиатуры?


предлагаю вспомнить что у грида нет кнопки инсерт.
то есть она либо пользовательская, либо клавиатурная железная.
в первом случае смотрим выше, во втором тоже куча вариантов.
от revoke insert до триггеров instead

но автору это не поможет, потому что это все эти пункты для программиста.
а он
в Options можно поставить "только чтение", но это мне не походит.


 
эта пять   (2014-07-19 13:03) [8]

Удалено модератором


 
Inovet ©   (2014-07-19 13:09) [9]

> [6] junglecat   (19.07.14 12:44)
> OnBeforeInsert - Abort()

Cancel не мягче будет?


 
icWasya ©   (2014-07-19 21:02) [10]

to Inovet ©   (19.07.14 13:09) [9]
>> [6] junglecat   (19.07.14 12:44)
>> OnBeforeInsert - Abort()

>Cancel не мягче будет?

Cancel - закроет форму
Abort() - прерывает работу текущего обработчика события.


 
Inovet ©   (2014-07-20 07:28) [11]

> [10] icWasya ©   (19.07.14 21:02)
> Cancel - закроет форму

TDataSet.Cancel


 
MonoLife ©   (2014-07-22 09:46) [12]

>Вопрос 1:
DBGrid.Options =>dgEditing=>false



Страницы: 1 вся ветка

Текущий архив: 2016.02.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.005 c
2-1405621661
sanya_m
2014-07-17 22:27
2016.02.14
Удаление из TADOQuery записей


2-1406470466
p
2014-07-27 18:14
2016.02.14
Перевести на С


3-1306926111
Очень злой
2011-06-01 15:01
2016.02.14
TADOCommand и лишние параметры


2-1406884783
Сергей
2014-08-01 13:19
2016.02.14
Не отображаются кнопка на панели mdi child формы


15-1433362244
d2pak
2015-06-03 23:10
2016.02.14
P-CAD. Редактор УГО