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

Вниз

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

 
Алексей Петухов   (2003-09-05 11:26) [0]

Здравствуйте, мастера.
Не подскажете как в StringGrid-е запретить редактирование одних колонок или ячеек, а других - разрешить?


 
Sandman25 ©   (2003-09-05 11:27) [1]

При заходе в ячейку устанавливайте ReadOnly (или как его там) в нужное значение.


 
Skier ©   (2003-09-05 11:27) [2]

>Алексей Петухов (05.09.03 11:26)
TStringGrid.Options


 
Sandman25 ©   (2003-09-05 11:28) [3]

StringGrid.Options +/- [goEditing]


 
Алексей Петухов   (2003-09-05 11:29) [4]


> Sandman25 © (05.09.03 11:27) [1]
> При заходе в ячейку устанавливайте ReadOnly (или как его
> там) в нужное значение.

Какое событие?


 
ZEE ©   (2003-09-05 11:30) [5]

>TStringGrid.Options
+/- goEditing


 
ZEE ©   (2003-09-05 11:30) [6]

>Какое событие?
OnSelectCell


 
Алексей Петухов   (2003-09-05 11:31) [7]


> goEditing

Вопрос прочтите, повнимательней пожалуйста.


 
Алексей Петухов   (2003-09-05 11:32) [8]

OnSelectCell
при переходе по Tab не вызывается


 
Sandman25 ©   (2003-09-05 11:32) [9]

[7] Алексей Петухов (05.09.03 11:31)

А подумать?
В OnSelectCell изменяем Options.


 
ZEE ©   (2003-09-05 11:33) [10]

>Алексей Петухов (05.09.03 11:31) [7]
>Вопрос прочтите, повнимательней пожалуйста.
из вопроса:
>запретить редактирование одних колонок или ячеек, а других - разрешить

ну так запретить
StringGrid.Options:=StringGrid.Options-[goEditing]
а разрешить
StringGrid.Options:=StringGrid.Options+[goEditing]


 
ZEE ©   (2003-09-05 11:35) [11]

>Алексей Петухов (05.09.03 11:32) [8]
>OnSelectCell
>при переходе по Tab не вызывается

тогда OnSelectCell + OnKeyPress


 
Sandman25 ©   (2003-09-05 11:35) [12]

[8] Алексей Петухов (05.09.03 11:32)

Вызывайте OnSelectCell и из OnEnter.


 
Sandman25 ©   (2003-09-05 11:37) [13]

[11] ZEE © (05.09.03 11:35)

Для Tab внутри грида вызывается (если goTabs установлен, конечно), не вызывается при переходе в грид из другого контрола.


 
Алексей Петухов   (2003-09-05 11:38) [14]


> ну так запретить
> StringGrid.Options:=StringGrid.Options-[goEditing]
> а разрешить
> StringGrid.Options:=StringGrid.Options+[goEditing]

Я использовал подобное, но отдельно надо отрабатывать получение фокука StringGridom, т.к. при получении фокуса OnSelectCell не происходит, расчитывал, что межет есть событие, охватывающие и получение фокуса тоже.


 
ZEE ©   (2003-09-05 11:39) [15]

OnEnter


 
Sandman25 ©   (2003-09-05 11:40) [16]

[14] Алексей Петухов (05.09.03 11:38)

При возврате фокуса обратно на грид текущая ячейка не изменяется. Поэтому можно вызвать OnSelectCell из OnCreate, или просто установить Options в Design time в зависимости от нужного для первой ячейки первой строки.


 
Алексей Петухов   (2003-09-05 11:43) [17]


> Вызывайте OnSelectCell и из OnEnter.

о, наверно так и надо.
Пойду воздухом подышу.


 
A_N_D ©   (2003-09-05 12:05) [18]

procedure TMainForm.TStringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if ((Sender as TStringGrid).Col=NotEditCol) and ((Sender as TStringGrid).Row=NotEditRow) then Abort;
end;


 
Sandman25 ©   (2003-09-05 12:08) [19]

[18] A_N_D © (05.09.03 12:05)

А если user мышкой в контекстном меню выберет "вставить" или "удалить"?


 
BOA_KAA ©   (2003-09-05 12:16) [20]

Посмотрите внимательно OnSetEditText, OnGetEditText
Запоминайте старое значение и на каждую попытку отредактировать возвращайте его



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

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

Наверх




Память: 0.51 MB
Время: 0.02 c
14-58895
BALU1111
2003-08-29 14:01
2003.09.18
Философский вопрос.


3-58524
DBDev
2003-08-27 10:05
2003.09.18
Помогите разобрться с запихиванием jpg в базу???


7-58943
R4D][
2003-07-04 19:01
2003.09.18
NOP


1-58656
den777
2003-09-04 11:57
2003.09.18
Есть ли в DELPHI настройки по сохранению старых версий файлов


7-58941
killer
2003-07-05 20:11
2003.09.18
Как определить путь папки с Window-ом?