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

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

Чтение текста из DBGrid


HPR ©   (2004-05-06 11:20:00) 

Есть такая проблема. Имеем обычный DBGrid. Пользователь вводит текст в одном из полей, но запись в Table еще не создается (она создастся после Post). Таким образом этот текст я не могу получить с помощью FieldByName.. А он мне нужен. Как быть?


HPR   (2004-05-06 13:35:00) [1]

Большое спасибо всем! Теперь знаю в каких направлениях копать


Vlad   (2004-05-06 13:11:00) [2]

Вот, примерно так:
На событие OnKeyUp грида (KeyDown немного не подходит)

if TMyGrid(Sender).InplaceEditor<>nil then showmessage(TMyGrid(Sender).InplaceEditor.Text);

где TMyGrid = class(TDBGrid)


Johnmen   (2004-05-06 13:03:00) [3]

>Vlad ©   (06.05.04 12:53) [14]

Тогда можно KeyDown у грида ловить, а там и анализ...


Vlad   (2004-05-06 12:53:00) [4]


> Johnmen ©   (06.05.04 12:44) [13]

Подозреваю, все не так просто. Человеку нужен аналог OnChange в TEdit, т.е. нужно еще сообщения ловить.


Johnmen   (2004-05-06 12:44:00) [5]

>HPR ©

Верно сказал Anatoly Podgoretsky ©   (06.05.04 11:40) [4]

MyDBGrid(DBGrid1).InplaceEditor.EditText (или Text)
где type MyDBGrid = class(TDBGrid);
но первым делом проверяем
if Assigned(MyDBGrid(DBGrid1).InplaceEditor) then ...


Vlad   (2004-05-06 12:41:00) [6]


> Inplace Editor это компонент такой?

см. справку TInplaceEdit


> А Reindeer Moss Eater это что такое и с чем его едят?

Его не едят, он сам ест (он же Eater :-))


Vovchik_A   (2004-05-06 12:24:00) [7]

2HPR ©   (06.05.04 12:23) [10]

О-о-о-оо, брат ... RTFM тогда...


HPR   (2004-05-06 12:23:00) [8]

To Vovchik_A: в том то и дело, что не хочу! :) Мне нужен именно грид. А Reindeer Moss Eater это что такое и с чем его едят?

To Anatoly Podgoretsky: Inplace Editor это компонент такой?

Отстал от жизни...


Vlad   (2004-05-06 12:22:00) [9]


> Vovchik_A ©   (06.05.04 12:17) [8]

Это я как вариант предложил.
А в общем случае конечно нужно ловить нажатия клавиш в InplaceEditor, но для этого нужно писать наследника.


Vovchik_A   (2004-05-06 12:17:00) [10]

2Vlad ©   (06.05.04 12:02) [7]

Ну начнем с того, что мы не знаем хочет ли он запрещать ввод из грида. Предлагаю автора подождать.


Vlad   (2004-05-06 12:02:00) [11]


> Vovchik_A ©   (06.05.04 11:55) [6]

Да нет, тут смотреть надо Anatoly Podgoretsky ©   (06.05.04 11:40) [4]
а так же в сторону наследника TDBGrid
Или еще как вариант: запретить ввод через грид, а вводить через TDBEdit, там можно использовать OnChange


Vovchik_A   (2004-05-06 11:55:00) [12]

Смотри Reindeer Moss Eater ©   (06.05.04 11:22) [1]


DenK_vrtz   (2004-05-06 11:45:00) [13]

для контроля ввода данных, как вариант, сделать отдельную форму с DBEdit'ами и кнопками "Сохранить" "Отменить"


Anatoly Podgoretsky   (2004-05-06 11:40:00) [14]

Копать придется в сторону Inplace Editor


VAleksey   (2004-05-06 11:38:00) [15]

именно FieldByName
или через события TField


HPR   (2004-05-06 11:35:00) [16]

Не, мне нужен текст по мере ввода его пользователем. У TEdit я к примеру получаю его в событии OnChange


Reindeer Moss Eater   (2004-05-06 11:22:00) [17]

BeforePost у датасета


Наверх

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