Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в DBGrid запретить нажатие Insert? [D6, Paradox]


Имя2 ©   (2004-04-01 10:01:00) 

Как сделать, чтобы при нажатии на Insert в DBGrid новая запись не добавлялась и при этом ReadOnly=false?


Stas   (2004-04-09 15:29:00) [1]

Dbgrideh - там можно отключить.


Anatoly Podgoretsky   (2004-04-02 13:18:00) [2]

А уж если строго смотреть, то в теме о запрете нажатия клавиши, а в вопросе про отсутствие реакции.


Anatoly Podgoretsky   (2004-04-02 13:17:00) [3]

Нигде не шла речь про возможность или запрет, про стрелку вниз, так что не надо к этому цепляться, речь только про клавишу Insert. Возможно он просто не знает про другие варианты, а может другие варианты не волнуют, ну мало ли что.


KSergey   (2004-04-02 13:04:00) [4]

А где при этом было сказано, что надо оставить возможность вставки в DataSet? про это тоже не было. Уж если хотите формально - так будьте последовательны до конца.


Vlad   (2004-04-02 11:14:00) [5]


> а где хочешь, там и будет устанавливаться.

хм.. хороший ответ :-) Толку правда от него никакого.


> а твоя [9] не спасёт от добавления новой при нажатии стрелки
> <вниз>

А где в посте автора было сказано что нужно убрать реакцию на "стрелку вниз"? По-моему речь шла только о клавише Insert, если я ничего не упустил.


Yad   (2004-04-02 11:09:00) [6]

> А где и как будет устанавливаться флаг InsertEnable
а где хочешь, там и будет устанавливаться.
а твоя [9] не спасёт от добавления новой при нажатии стрелки <вниз> на последней строке


Vlad   (2004-04-02 10:46:00) [7]


> Yad   (02.04.04 10:42) [12]

Ничто не мешает.
А где и как будет устанавливаться флаг InsertEnable ?
Часом не на том же событии грида OnKeyDown ? ;-)
Так может проще все-таки [9] ? :-)


Yad   (2004-04-02 10:42:00) [8]

А что мешает сделать пременную InsertEnable
и проверять OnBeforeInsert:
 if InsertEnable then InsertEnable := false else Abort;


Vlad   (2004-04-02 10:34:00) [9]


> Yad   (02.04.04 10:32) [10]

Сказано в DBGrid убрать реакцию на клавишу Insert, а ты предлагаешь вобще запретить вставку в DataSet


Yad   (2004-04-02 10:32:00) [10]

в OnBeforeInsert поставить Abort


Vlad   (2004-04-02 10:22:00) [11]

на событие OnKeyDown грида:
if Key=VK_INSERT then Key:=0;


Anatoly Podgoretsky   (2004-04-02 10:06:00) [12]

Ozone ©   (01.04.04 10:08) [3]
Будет, кроме того уже поздно что било отменять после AFTER


Vemer   (2004-04-02 09:41:00) [13]

Abortв обработчик BeforeInsertдатасета + проверку на условаия к нему если надо. Insertне возникает, генератор не дергаеться.


  (2004-04-01 17:33:00) [14]

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


Ozone   (2004-04-01 16:48:00) [15]

И это не есть хорошо... как мне кажется


NoName   (2004-04-01 10:09:00) [16]

будет


Ozone   (2004-04-01 10:08:00) [17]

В принципе согласен с [1], но вопрос возник - если у нас первичный ключ есть автоинкрементное поле, то не будет ли расти этот счетчик с каждым нажатием кнопки "Insert"?


Представитель   (2004-04-01 10:07:00) [18]

Поставить в DBGrid.ReadOnly=true


NoName   (2004-04-01 10:06:00) [19]

на OnAfterInsertнаписать Table.Cancel


Наверх

Титульная страница Поиск, карта сайта Написать письмо