Главная страница
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.007 c
15-1354293250
Rouse_
2012-11-30 20:34
2013.04.21
Ну чтож, добил таки цикл статей про отладку.


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


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


15-1355289271
Andy BitOff
2012-12-12 09:14
2013.04.21
Ждем 12.12.12 12:12:12.12


15-1356108128
alexdn
2012-12-21 20:42
2013.04.21
Где ещё можно продать программу?