Delphi 2007 Невозможно изменить данные в событии beforescroll с использованием исходного кода. Ошибка: набор данных не находится в режиме редактирования или вставки - PullRequest
0 голосов
/ 24 июня 2011

Немного истории: у меня есть DBlistbox, содержащий описания textt, и я храню только коды этого в таблице mysql, которая отображается в dbgrid.Пользователь может выбрать несколько опций, и мне нравится обрабатывать их и сохранять как разделенные запятыми значения в одном из столбцов (этот столбец не виден в dbgrid).

Прямо сейчас я могу заполнить список, когда пользователь прокручиваетdbgrid с использованием событий Afterscroll и Formcreate.Но когда я пытаюсь обработать список и обновить myquery за dbrgid, я получаю сообщение об ошибке «Набор данных не в режиме редактирования или вставки» - я делаю это в beforescroll

Пожалуйста, помогите !!Я попытался установить набор данных в режим редактирования, а затем изменить его, как только данные будут опубликованы. Кажется, в dbgrid есть забавные символы

1 Ответ

1 голос
/ 24 июня 2011

Если я правильно понял, DBListBox не подключен к набору данных, задержанному в сетке? Это объясняет, почему набор данных сетки не установлен в режим редактирования при изменении данных в DBListBox.

В любом случае, всякий раз, когда вы изменяете данные, которые должны попасть в таблицу mysql, вы должны переключить этот набор данных в режим редактирования. Затем вы можете поместить кодирование значений, разделенных запятыми, в событие OnBeforePost.

Когда набор данных прокручивается без каких-либо изменений данных в списке, нет необходимости хранить какие-либо данные. Это достигается с помощью описанного выше подхода, так как без режима редактирования в этом случае не сработает событие BeforePost.

...