Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
15-1356193225
alexdn
2012-12-22 20:20
2013.04.21
asp.net


15-1356068940
azlk52
2012-12-21 09:49
2013.04.21
osk.exe не запускается


8-1231501163
Б
2009-01-09 14:39
2013.04.21
Обрезка растра


15-1356418098
Nicolas C.
2012-12-25 10:48
2013.04.21
Выбор Бд


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




   Наверх