Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Господа программеры, натолкните на мысль. Есть DBGridEh, в столбцах которой указана маска ввода (например две цифры). Как при заполнении этой маски (когда пользователь ввёл 2 цифры) проверить введённые данные и в случае удачной проверки передать фокус ввода следующей ячейке грида, т.е. произвести програмное нажатие клавиши "TAB", а при неудачной проверке выдать сообщение и оставить фокус ввода в текущей ячейке. Наверняка кто-нибудь это уже делал. Благодарен за любую мысль!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 06:19 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
А нафига ты так тему назвал ????????? DBGridEh здесь вообще не причем, ведь это у тебя мозгов не хватает сделать проверку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 08:25 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
У TField есть событие OnValidate. Вот его и используй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 08:31 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
<Виктор На счёт мозгов согласен. Если бы у меня их хватало - разве бы я попросил помощи! <pkarklin Спасибо, с проверкой разобрался, а как на счёт автоматического перехода в следующую ячейку??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 08:54 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Славочка, ну ты хотя бы в хелпе про компонент почитал, с которым работаешь (DBGrid). property SelectedField: TField; Description Set SelectedField to move focus to a particular field in the grid. Read SelectedField to obtain access to the field component for the currently selected cell. If there is not currently selected cell, SelectedField is nil (Delphi) or NULL (C++). For example, when an entire row is selected, SelectedField is nil or NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 09:02 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
<pkarklin property SelectedField: TField; - обращается к свойствам ячейки набора данных. А мне необходимо узнать что ввёл пользователь в ячеёку ГРИДА ещё до того момента как это значение появиться в поле набора данных, т.е. до момента обновления. Ты уж не серчай, все мы с чего-то начинали. Гуру не рождаются - ими становяться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 09:23 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Гуру не рождаются - ими становяться! Это точно, тока я себя к гуру не отношу. Ведь я не правильно понял тебя. Тебе надо на следующий столбец грида, а не на следующее поле набора. А это может быть не одно и тоже. Так что, извини, но тут лучше SelectedIndex использовать. Ну то есть в случаи успешной проверки условия можно сделать DBGrid.SelectedIndex := DBGrid.SelectedIndex + 1 Правда надо учесть ситуацию с последним столбцом грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 09:39 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
<pkarklin С переходом из ячейки в ячейку понятно, но как поймать то значение, которое вводит пользователь, которое уже есть в поле ввода ячейки ГРИДа, но которого ещё нет в поле набора данных привязанного к ГРИДу. Смысл такой: Мне надо чтобы у пользователя при вводе двухзначного числа фокус ввода (курсор) автоматически переходил на следующую ячейку. Я установил свойство колонки Грида EDITMASK='99' и хотел проверять по каждому нажатию клавиш какая длина введённого текста. Если длина - 2 символа, то KeyPress('Tab') (или что-то в этом роде) Может я слишком мудрёно изъясняюсь. Просто пользователи привыкли к такому вводу данных и желают чтобы так и осталось. Сейчас работает DOSовская программуха, а там всё попроще будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 10:37 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Чет я не понял, что ж у тебя получилось, а что нет. То Спасибо, с проверкой разобрался, а как на счёт автоматического перехода в следующую ячейку??? То С переходом из ячейки в ячейку понятно, но как поймать то значение, которое вводит пользователь, которое уже есть в поле ввода ячейки ГРИДа, но которого ещё нет в поле набора данных привязанного к ГРИДу. А теперь Мне надо чтобы у пользователя при вводе двухзначного числа фокус ввода (курсор) автоматически переходил на следующую ячейку. Ну так не делают, Enter хотя бы надо нажать. Это все рудименты досовские у тебя. Кстати в EhLib у DBGridEH в свойствах есть dghEnterAsTab, которое позволяет перемещаться по ячекам не с помощью TAB, а с помощью Enter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 10:52 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Ну так не делают, Enter хотя бы надо нажать. Это все рудименты досовские у тебя. Кстати в EhLib у DBGridEH в свойствах есть dghEnterAsTab, которое позволяет перемещаться по ячекам не с помощью TAB, а с помощью Enter. Вот в этом и загвоздка. Не хотят они ENTER нажимать. Хотят чтобы само перескакивало. А с остальным всё понятно. По ENTERу всё работает как часы, а как без него умудриться сделать???????????? ....вот в чём вопрос! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:00 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Так может они тебя скоро попросят чтобы приложения и на Боттоны само жало, и на работу за них приходило, а ты будишь париться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:06 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
<Voha Они только об этом и мечтают. А париться всё равно приходится - работа такая!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:08 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Eto vse posledstvija Foxa i Clippera. :) Nu mozhno kanechno obrabativat KeyDown, no zaparishsja vse variacii tam perebirat. Nazhat to mogut ne tolko cifri/bukvi. Jest takoje slovo - NELZJA. Da i vaasse ENTER - podtverzhdenije pravilnosti vvedennoj informacii. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:12 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
<Papka Мне нравиться ход твоих мыслей, но наши "любимые" пользователи одновременно вводят данные, разговаривают по телефону и кушают яблоко и на контроль вводимых данных просто не хватает времени. И слова НЕЛЬЗЯ их не устраивает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:17 |
|
||
|
DBGridEh????????????????
|
|||
|---|---|---|---|
|
#18+
Вобщето,если серьезно, то есть какието обще принятые стандарты разработки интерфеса Виндовозовских приложений, отклонение от которых не желательно. И одно из требование твоих юзеров и есть откланение от этих стандартов. Так что скажи ты им что "против природы не попрешь". Я слышал даже фирма Микрософт сертифицирует приложения на основе этого и ставит штамп типа "Разработано для Windows" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:27 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32163603&tid=2118267]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 364ms |

| 0 / 0 |
