powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить значение редактируемого поля DBGrid
13 сообщений из 13, страница 1 из 1
Получить значение редактируемого поля DBGrid
    #39487262
Фотография alex_p_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...
...
Рейтинг: 0 / 0
Получить значение редактируемого поля DBGrid
    #39487267
Фотография alex_p_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...
...
Рейтинг: 0 / 0
Получить значение редактируемого поля DBGrid
    #39487269
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но зато у поля есть событие OnValidate
...
Рейтинг: 0 / 0
Получить значение редактируемого поля DBGrid
    #39487270
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_p_nВсем привет.
Такая проблема:
есть DBGrid, в одно из полей которого юзер вводит значение, после этого жмакает Enter. Мне нужно проверить, что он ввёл.
Вопрос такой - как получить значение поля, которое отредактировано, но ещё не сохранено?
Из датасета - не вариант, т.к. там его ещё нет - Post не сделан...
DBGrid.SelectedField.AsString - тоже не работает, получаю всегда 0...

RTFM: TField.OldValue, TField.NewValue
...
Рейтинг: 0 / 0
Получить значение редактируемого поля DBGrid
    #39487280
Жышы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, в TField.OnSetText ().
Или в TDataSet.OnBeforePost().
Или в TDataSource.OnDataChange().
...
Смотря, для чего тебе это.
...
Рейтинг: 0 / 0
Получить значение редактируемого поля DBGrid
    #39487284
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Получить значение редактируемого поля DBGrid
    #39487327
Фотография alex_p_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖышыНапример, в TField.OnSetText ().
Или в TDataSet.OnBeforePost().
Или в TDataSource.OnDataChange().
...
Смотря, для чего тебе это.

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

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

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


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