Вниз
Скачать: CL | DM;

Исправление значения ячейки в StringGrid   Найти похожие ветки 

← →
Hamster ©   (2005-09-24 22:18) [0]

Здравствуйте. В обработчике события stringgrid OnSetEditText пишу следующий код:

len:=Length(Value);
if (ACol=1) and (len>0) and not (Value[len] in ["0".."9"]) then
  StringGrid1.Cells[ACol,ARow]:=Copy(Value,1,len-1);


При вводе недопустимого символа выделяется все значение ячейки, а мне этого не надо. Как от этого избавиться, т.е. чтобы просто последний введенный символ убирался?


← →
PAVIA ©   (2005-09-24 22:40) [1]

Пиши в OnKeyPress
if not(Key in ["0".."9"]) then Key=#0;
Если не цифра то присвоить, код клавиши 0.


← →
Hamster ©   (2005-09-24 22:47) [2]

Мне надо чтобы исправлялось только значение во второй колонке, т.е. надо что-то типа StringGrid1.ColSelected, а такого я что-то не нашел.


← →
PAVIA ©   (2005-09-24 22:58) [3]

Тогда
if Not(Key in ["0".."9"])or (StringGrid1.Col<>2)  then Key:=#0;
Пишеться без Selected.:)


← →
Hamster ©   (2005-09-24 23:02) [4]

Ой...Не заметил...:)
Спасибо!


← →
Германн ©   (2005-09-25 01:23) [5]

2 PAVIA ©   (24.09.05 22:58) [3]
Вот ьолько StringGrid1.Col<>2 противоречит условию. :(
У автора же "if (ACol=1)".



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

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



Память: 0.46 MB
Время: 0.058 c
3-1125819377
Hata
2005-09-04 11:36
2005.10.16
Как программно очистить всю таблицу от записей?


4-1124088075
Арсений
2005-08-15 10:41
2005.10.16
8 БИТ И ВСЕ, ВСЕ, ВСЕ…


11-1108497834
VNavigator
2005-02-15 23:03
2005.10.16
Cursor


2-1127111629
ZZZ
2005-09-19 10:33
2005.10.16
Сокращение времени компиляции.


2-1127019464
intel
2005-09-18 08:57
2005.10.16
база данных




   Наверх