Главная страница
    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.48 MB
Время: 0.007 c
1-58682
WinLamka
2003-09-04 19:25
2003.09.18
Чужие окошки =)


7-58953
Сергей Князев
2003-07-03 10:41
2003.09.18
Два модема одновременно


14-58878
Islander
2003-08-28 17:07
2003.09.18
Как быстро считать бинарник в переменную типа string?


3-58577
Layner
2003-08-27 09:52
2003.09.18
Подскажите UpdateSQL для ADO Query


1-58738
SH
2003-09-08 14:36
2003.09.18
распределение доступа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский