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

Вниз

Разрешить редактировать только одну колонку в StringGrid как?   Найти похожие ветки 

 
Extar ©   (2007-01-11 00:15) [0]

Хочется чтобы пользователь мог перемещаться только вверх/вниз по одной колонке, ее же править в нужных строках.
А чтоб влево/вправо не лез.

GoAlwaysShowEditor = ON

Когда то делал...
кажется "OnSelectCell" использовал, но уже не помню что в обработчике писать.

И как проверить корректность введенных данных (скажем, число 1..100)?
D8


 
Loginov Dmitry ©   (2007-01-11 07:51) [1]

> кажется "OnSelectCell" использовал


Пойдет


> но уже не помню что в обработчике писать


Вспоминай


 
Extar ©   (2007-01-11 09:23) [2]

>Loginov Dmitry
Ну ты ферзь


 
novill ©   (2007-01-11 09:45) [3]

Тебе в событие зачем CanSelect передается? да и вообще параметры посмотри.

Как проверить? try except например пользуй.


 
Extar ©   (2007-01-11 10:26) [4]

Да посмотрел бы, и вообще вопросов бы не задавал, сидел бы читал Delphi Native Help
Только в Д8й этот хелп вообще какой-то полупустой, хотя и на манер "MS VS" заделан...
Где не нажмешь F1 все пишет "Topic not available"
Инфы много про .нет там (винформс и т.п.) а по VCL в 3й информативнее было...
В инете чтоли хелп к предидущим версиям искать...


 
Extar ©   (2007-01-11 12:18) [5]

Пробую так:
procedure TForm1.StringGrid1GetEditMask(Sender: TObject; ACol,
 ARow: Integer; var Value: &string);
var
srect: tgridrect;
begin
with stringgrid1 do
 begin
  setfocus; {Передаем фокус сетке}
  row:= arow; {Устанавливаем row/col}
  col := 3;
  srect.top := row; {Определяем выбранную область}
  srect.left := 3;
  srect.bottom := row;
  srect.right := 3;
  selection := srect; {Устанавливаем выбор}
 end;
end;


Перемещение только по одной колонке, НО:
содержимое ячейки-Sender_а  очищается(((
т.е. кликаю по любой другой колонке - в ней появляется пустая ячейка.

Может на какоето друго есобытие вешать этот обработчик?


 
Extar ©   (2007-01-11 12:41) [6]

Разобрался
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
if acol<>3 then canselect:=false;
end;


Спасибо
>novill
>www.delphipages.com



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

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

Наверх




Память: 0.48 MB
Время: 0.045 c
15-1171025896
IMHO
2007-02-09 15:58
2007.03.04
Вспоминая прошлое


15-1170969146
illuha
2007-02-09 00:12
2007.03.04
ждущий режим


2-1171266984
sergeyst
2007-02-12 10:56
2007.03.04
Масштабирование


6-1158692227
Орион
2006-09-19 22:57
2007.03.04
Traffic Compressor и редирект портов


2-1171611774
cando
2007-02-16 10:42
2007.03.04
бeбуфер обмена