Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2014, 16:07   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию Добавляется новая строка после удаления

Добрый день, есть TMemTableEh, его содержимое отображается в DBGridEh

Проблема в том, что если сделать так что нажать на поле таблицы, и это моле выделит своё содержимое и будет ожидать ввода символов, но датасет не в режиме редактирования(т.к. не изменяли данные) и нажать удалить, то запись удалится и датасет войдёт в режим dsInsert (добавив при этом первичные данные, прописанные в коде при добавлении).

Подскажите как обойти это?

в Before, After delete датасет в dsBrows проверял, где и как это перехватить не пойму, прошу помощи...

Лучший вариант это проверять выделен ли текст в ячейке или нет
Dozent вне форума Ответить с цитированием
Старый 11.02.2014, 16:14   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Убрать из DBGridEh.AllowedOperations alopDeleteEh не помогает?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.02.2014, 16:18   #3
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

нет крестик стал неактивным, если удалять хоткеем результат тотже...
Dozent вне форума Ответить с цитированием
Старый 11.02.2014, 16:33   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А почему решили, что запись удаляется? Чистится конкретная ячейка и запись переходит в состояние редактирования
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.02.2014, 16:37   #5
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Всмысле почему решил?) потому что удаляется запись, потому что, при установке брекпоинта в структуре явно видно события edit и с разу Insert. Потому что срабатывает брекпоинт на событие NewRecord...

Такая бяка получается если текст в ячейке выделен...

p.s. Почему форум ужасно тормазит?

p.s.s Кое что надумал надо проверить кажысь понял откуда ноги растут у этой ошибки)
Dozent вне форума Ответить с цитированием
Старый 11.02.2014, 17:21   #6
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Проблему решил, в наших самописных компанентах была ошибка, не проверялось количество строк и пыталось поменять значения поля, а т.к. записей не было, то при переходе датасета в едит срабатывал инсерт по дефолту
Dozent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новая строка в StringGrid optimusline C++ Builder 4 08.01.2013 11:30
Сортировка кода в таблице после удаления allegator333 БД в Delphi 5 20.05.2011 21:57
После удаления перестали работать стили mrgrudge PHP 3 01.12.2010 13:35
Не отображается новая добавленная строка в DBGrid ArtInt БД в Delphi 5 04.03.2010 15:58
новая строка в запросе Крокодил Microsoft Office Access 5 21.05.2009 12:20