Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить значение редактируемого поля DBGrid / 13 сообщений из 13, страница 1 из 1
12.07.2017, 10:45:15
    #39487262
alex_p_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
Всем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...
...
Рейтинг: 0 / 0
12.07.2017, 10:46:41
    #39487267
alex_p_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
Всем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...
...
Рейтинг: 0 / 0
12.07.2017, 10:47:52
    #39487269
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
но зато у поля есть событие OnValidate
...
Рейтинг: 0 / 0
12.07.2017, 10:48:44
    #39487270
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
alex_p_nВсем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...

RTFM: TField.OldValue, TField.NewValue
...
Рейтинг: 0 / 0
12.07.2017, 10:54:17
    #39487280
Жышы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
Например, в TField.OnSetText ().
Или в TDataSet.OnBeforePost().
Или в TDataSource.OnDataChange().
...
Смотря, для чего тебе это.
...
Рейтинг: 0 / 0
12.07.2017, 10:59:16
    #39487284
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
schialex_p_nВсем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...

RTFM: TField.OldValue, TField.NewValue
Там в эртээфеме еще есть кое-что:
Note : the OldValue property is only usable when the data is accessed using a TClientDataSet component or cached updates is enabled.
...
Рейтинг: 0 / 0
12.07.2017, 11:40:39
    #39487327
alex_p_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
ЖышыНапример, в TField.OnSetText ().
Или в TDataSet.OnBeforePost().
Или в TDataSource.OnDataChange().
...
Смотря, для чего тебе это.

TDataSet.OnBeforePost() - не пойдёт ИМХО, т.к. событие OnBeforePost() происходит, когда Post() уже начался, но ещё не выполнился.
А мне нужно сделать проверку ДО того, как будет выполене Post(), т.к.нужно липо постить то, что ввёл юзер, либо что-то другое (там кучерячвое условие, но смысл такой).
Остальное будем проверять...
...
Рейтинг: 0 / 0
12.07.2017, 11:41:32
    #39487330
alex_p_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
wadman,
На TField.NewValue ругается, что dataset not in cacheble edit mode
...
Рейтинг: 0 / 0
12.07.2017, 11:45:01
    #39487335
Жышы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
alex_p_nЖышыНапример, в TField.OnSetText ().
Или в TDataSet.OnBeforePost().
Или в TDataSource.OnDataChange().
...
Смотря, для чего тебе это.

TDataSet.OnBeforePost() - не пойдёт ИМХО, т.к. событие OnBeforePost() происходит, когда Post() уже начался, но ещё не выполнился.
А мне нужно сделать проверку ДО того, как будет выполене Post(), т.к.нужно липо постить то, что ввёл юзер, либо что-то другое (там кучерячвое условие, но смысл такой).
...
И что? Что-то мешает "остановить" Post()?
...
Рейтинг: 0 / 0
12.07.2017, 11:48:24
    #39487339
alex_p_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
ЖышыИ что? Что-то мешает "остановить" Post()?
Ты имеешь в виду, что сделать пост, а onBefore проверять значение и, если оно не такое - подменить его?
...
Рейтинг: 0 / 0
12.07.2017, 11:50:47
    #39487342
Жышы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
alex_p_nЖышыИ что? Что-то мешает "остановить" Post()?
Ты имеешь в виду, что сделать пост, а onBefore проверять значение и, если оно не такое - подменить его?

Да что угодно. Можешь подменить значение, можешь вообще остановить процесс Post().
...
Рейтинг: 0 / 0
12.07.2017, 11:57:14
    #39487351
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить значение редактируемого поля DBGrid
если там происходит Exception, то Post не произойдет
например
Код: pascal
1.
if SomeCondition() then Abort;
...
Рейтинг: 0 / 0
12.07.2017, 14:26:06
    #39487544
Получить значение редактируемого поля DBGrid
alex_p_n, посмотри в сторону InplaceEditor
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить значение редактируемого поля DBGrid / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]