Главная страница
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.47 MB
Время: 0.009 c
15-1356068940
azlk52
2012-12-21 09:49
2013.04.21
osk.exe не запускается


15-1356268593
lead-in
2012-12-23 17:16
2013.04.21
Поток ввода в .bat-файле Windows


15-1356407480
MonoLife
2012-12-25 07:51
2013.04.21
Сколько стоит программа?


2-1350085369
Вова
2012-10-13 03:42
2013.04.21
Утечка памяти DataSet


15-1356193225
alexdn
2012-12-22 20:20
2013.04.21
asp.net