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

Вниз

Как отловить событие возникающее при редактировании в гриде   Найти похожие ветки 

 
Layner ©   (2005-05-15 14:32) [0]

определенной колонки? Т.е. BeforeEdit в ADOQuery не подойдет, т.к. тут любая ячейка может "просигналить". Это нужно для того, что бы когда юзер кликнет на это поле, появляется форма ввода значения по маске, и при закрывании ее это значние ложится в эту ячейку. Я уже это вообще то реализовал в EhLib, по событию в колонке OnChange, да некрасиво получается, сначала "входить" в редактирование, а потом нажимать любую клавишу... Заранее благодарю.


 
Desdechado ©   (2005-05-15 17:51) [1]

А зачем отдельная форма ввода по маске? У поля есть же свойства, которые отвечают за форматирование ввода...


 
Layner ©   (2005-05-15 18:59) [2]

Да, маска сложная, встроенной не обойтись, поэтому пришлось делать внешнюю.


 
ANB ©   (2005-05-16 09:07) [3]

Имхо, OnClick и OnKeyDown. Я так делал.


 
msguns ©   (2005-05-16 09:16) [4]

Grid.Column.OnEnter/OnExit


 
msguns ©   (2005-05-16 09:19) [5]

Пардон,
TDBGrid.OnColEnter/OnColExit


 
Max Zyuzin ©   (2005-05-16 09:36) [6]

>Layner ©   (15.05.05 14:32)  
Может лучше редактировать всю запись целиком? Вынес пару кнопочек отдельно от Grid нажал - все что надо поправил, принял... А Grid вообще оставить ReadOnly


 
msguns ©   (2005-05-16 09:47) [7]

Я еще делал так:
1. Грид не редактируемый (у меня еще и датасет был не редактируемый)
2. По кнопке динамически рисуется панель по высоте строки грида, которая заполняется контролами типа TEdit, по ширине точно совпадающими с широиной соотв.колонки грида.
Панель позиционируется точно на месте редактируемой строки и а ежиты переносится содержимое полей НД - при редактировании.
Либо под активной записью с очитской эдитов - при добавлении
Т.е. Имитировалось редактирование в гриде.
3. Гриду Enable := false, чтоб узер не мог кликать по нему, не завершив ввод-редактирование
4. По событию OnExit панели (либо по спец.кнопке на Гл.панели в MDI-форме) проверка введенных данных и, если все Ok, то UPDATE/INSERT, иначе - сообщение об ошибке (ShowMessage или в статусбаре Гл.формы MDI), фокус-в контрол с ошибкой и SelectedAll

Динамическое создание панели, разметка "под грид" и заполнение контролов в процедуре, текст которой при желании могу выложить.


 
-=XP=- ©   (2005-05-16 10:12) [8]

По кнопке динамически рисуется панель по высоте строки грида, которая заполняется контролами типа TEdit, по ширине точно совпадающими с широиной соотв.колонки грида.

DBCtrlGrid?


 
msguns ©   (2005-05-16 10:25) [9]

>-=XP=- ©   (16.05.05 10:12) [8]
>DBCtrlGrid?

Нет, нафиг он нужен, если редактируется одна запись ? Кроме того, НД может быть не редактируемым.

Минус у данной технологии только в том, что грид должен полностью умещаться на экране (нет гориз.скроллинга).


 
Layner ©   (2005-05-16 10:48) [10]

О, спасибо msguns за помощь, буду пробовать, на счет не редактируемости Grid, можно, да писать больше, у меня если человек кликнул на поле, вызывается модальное окошко (MDI приложение тоже), и пока его не закроешь, т.е. не введешь текст по маске, форму не закрыть. Вроде все удобно. Сейчас вот и с полем доделаю.



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

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

Наверх




Память: 0.47 MB
Время: 0.034 c
4-1114784588
Виталик
2005-04-29 18:23
2005.06.29
Соответствие классов в Delphi и Си


14-1117554968
Новичоккк
2005-05-31 19:56
2005.06.29
Простой вопрос по ASM


1-1117635667
Aleksandr.
2005-06-01 18:21
2005.06.29
Есть какие-то готовые технологии для градиента цветов?


1-1118209050
Ega23
2005-06-08 09:37
2005.06.29
Перекрытие методов TDataLink


1-1118292020
Иванушка
2005-06-09 08:40
2005.06.29
Создание окна About





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский