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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2010, 15:39   #1
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию Как программно запретить редактирование ячейки в DBGrid

Здравствуйте, уважаемые.
Как ячейку в DBGrid сделать кнопкой, т.е. программно запретить её редактирование. Особенно это актуально сразу после добавления записи, хотя сделан Post, а сама ячейка в режиме ReadOnly:=True.
kraw2 вне форума Ответить с цитированием
Старый 25.11.2010, 16:48   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

ReadOnly:=True должно хватать...
Вы что, хотите сказать, что вы можете ее в этом режиме изменить ?
И почему "кнопкой" ?
И почему отдельное поле, а не всю запись ?
mihali4 вне форума Ответить с цитированием
Старый 25.11.2010, 19:02   #3
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию

При нажатии мышью на ячейку открывается панель с графикой, по которой я кликаю и выбираю определеный номер, который затем записываю в поле данной ячейки. Так вот при нажатии мышью на ячейку (она в фокусе) устанавливается режим редактирования, хотя он не действует по ReadOnly, но и панель не открыватся. Когда мышью ухожу на другое поле, а затем на это - все Ok. В основном это после того как добавлена запись, хотя сделан Post. (TDBGridEh).
kraw2 вне форума Ответить с цитированием
Старый 25.11.2010, 19:58   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
при нажатии мышью на ячейку
мышью ухожу на другое поле
это после того как
Какое событие используется?
Введите флажок, указывающий, что нельзя переводить в режим редактирования только что добавленную запись...
mihali4 вне форума Ответить с цитированием
Старый 25.11.2010, 20:22   #5
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию

OnCellClick по имени поля. После Post запись и так не в режиме редактирования. Но при щелчке происходит как бы имитация редактирования этого поля {закрашивается значение поля синим(первоначально оно = 0)}. Как это убрать я и не знаю.
kraw2 вне форума Ответить с цитированием
Старый 25.11.2010, 20:30   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Это нормальное поведение выделенного поля, как и любого другого.
От режима редактирования отличается тем, что закрашивается не строка в ячейке, а целиком ячейка, от и до.
Надеюсь, после Post вы временно переводите грид в режим dgEditing=False ?
Непонятно, что вам нужно.
Если не хотите, чтобы и выделение на нем было, убирайте фокус с ДБГрида на другой контрол.

Последний раз редактировалось mihali4; 25.11.2010 в 20:36.
mihali4 вне форума Ответить с цитированием
Старый 25.11.2010, 20:36   #7
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию

Еще раз. Мне нужно чтобы когда я кликнул по этой ячейке (фокус уже на ней) вместо того, чтобы было "нормальное поведение ячейки" срабатывало бы OnCellClick. Как сделать?
Извиняюсь, не увидел dgEditing=False. Сейчас попробую - отпишусь.

Последний раз редактировалось kraw2; 25.11.2010 в 20:39.
kraw2 вне форума Ответить с цитированием
Старый 25.11.2010, 20:39   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А я вам написал - убирайте фокус...
Добавьте в обработчик OnCellClick последней строкой, например,
Код:
Memo1.SetFocus;
mihali4 вне форума Ответить с цитированием
Старый 25.11.2010, 21:16   #9
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию

mihali4, спасибо. Только фокус не надо убирать. После Posta убираю dgEditing, а после обработки поля, опять включаю и Ok.
kraw2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запретить перемещение ячейки курсором segail Microsoft Office Excel 2 06.07.2011 16:24
Как программно запретить запись на винчестер? padalka Помощь студентам 8 14.11.2010 20:39
Запретить редактирование в DBGrid MixanMM БД в Delphi 12 10.05.2010 20:28
Как оставить редактирование ячейки? Andrei_IW Общие вопросы .NET 5 29.11.2009 22:56
Можно ли файл в MS Exel запретить редактирование? jewller Microsoft Office Excel 6 05.02.2009 00:03