Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.04.21;
Скачать: CL | DM;

Вниз

Запрет редактирования записей   Найти похожие ветки 

 
evgen2301   (2010-11-03 10:47) [0]

Ситуация. Стандартный DBGrid  с набором данных.
Обработчики:
procedure TfrObject.dbgObjectCellClick(Column: TColumn);
begin
if Column.FieldName <> "моё поле"
 then dbgObject.Options:=[dgTitles,dgIndicator,dgColLines,dgRowLines,dgTabs,dgConfirmD elete,dgCancelOnExit]; // запрет редактирования всех полей кроме одного
end;
procedure TfrObject.dbgObjectColExit(Sender: TObject);
begin
 dbgObject.Options := [dgEditing,dgTitles,dgIndicator,dgColLines,dgRowLines,dgTabs,dgConfirmDelete,dgC ancelOnExit]; // разрешаем редактировать
end;

Вопрос: поле которое можно редактировать имеет PickList из фикс. значений. При двойном нажатии PickList выпадает и устанавливает фокус в ячейке. Как в данном случае запретить ввод символов и оставить только возможность выбора из списка?


 
Медвежонок Пятачок ©   (2010-11-03 10:58) [1]

чума.
тыцнули на запрещенное поле, убралось редактирование.
уходим из ячейки, но не мышкой, а стрелкой. редактирование появляется.
а вышли мы стрелкой вверх/вниз, не поменяв поле, которое не должно редактироваться.


 
stas ©   (2010-11-03 16:47) [2]

А почему нельзя установить у всех колонок ReadOnly:=True кроме одной?


 
evgen2301   (2010-11-07 21:33) [3]

Вопрос в не установке ЧИСТОГО запрета редактирования поля.
А в том что-бы в ячейку не попадал курсор ввода символов.
Значение в данном поле устанавливается из PickList (TStrings), а он в моей проге имеет фиксированный набор возможных значений.
Пользователь кликает - появляется список, чуток смещает курсор, кликает ещё раз и... вот он курсор в ячейке -> вводите что хотите.
А пример, это так один из десяти вариантов которые я испробовал.


 
evgen2301   (2010-11-07 21:42) [4]

Да, чуть не забыл, в базу сохраняется только значение из списка, что-бы пользователь не вводил - проверено. Но требования заказчика к СПО таковы:
- дружественный интерфейс;
- никаких двусмысленностей для пользователя.
Вносить в руководство оператора подобную мелочь... как бы стыдно.
Причём пользователи, по моему опыту, все равно РО не читают, просто шлют мне на мыло свои замечания (как и в этот раз собственно).


 
Sergey13 ©   (2010-11-08 10:24) [5]

ИМХО в данном случае было бы правильнее не пиклист использовать, а справочник и лукап поле на него.



Страницы: 1 вся ветка

Текущий архив: 2013.04.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
15-1356388018
wl
2012-12-25 02:26
2013.04.21
что подарить кресной на новый год?


15-1356202525
wl
2012-12-22 22:55
2013.04.21
Опять фильмы


9-1194462751
Babooin
2007-11-07 22:12
2013.04.21
DirectX vs OpenGL


15-1356467402
Юрий
2012-12-26 00:30
2013.04.21
С днем рождения ! 26 декабря 2012 среда


2-1350003007
Вова
2012-10-12 04:50
2013.04.21
база данных на dataSet проблема с сохранением данных