Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

Разрешить редактировать только одну колонку в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
2-1171204627
cando
2007-02-11 17:37
2007.03.04
Открыть несколько файлов


2-1170933265
sergeyst
2007-02-08 14:14
2007.03.04
IBTranzaction


2-1171295404
VitAngel
2007-02-12 18:50
2007.03.04
Как узнать время окончания архивации


3-1165754105
Kley
2006-12-10 15:35
2007.03.04
Номерация строк


15-1171273167
vasIZmax
2007-02-12 12:39
2007.03.04
Save.... Good





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский