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

Вниз

KOLmdvXLGrid   Найти похожие ветки 

 
Max727   (2007-09-03 16:03) [0]

вопрос простой
хочу удалить выделенную строку, но не выходит

procedure TfmMain.xl1KeyDown(Sender: PControl; var Key: Integer;
 Shift: Cardinal);
 var itmp:integer;
begin
 if Key = 46 then
 begin
   itmp:=xl1.Selected.Top;
   xl1.DeleteRow(itmp);
 end;
end;


что неправильно?


 
mdw ©   (2007-09-03 16:30) [1]

Специально проверил, просто код скопировал. Работает. Проверьте чему равно xl1.Selected.Top? Может быть -1, например, если выделять  строки за заголовок.
Читаем описание:
   property Selected - выделенный прямоугольник (не цветом, а рамкой);

Возможно стоит использовать
property SelectedRows[Index: Integer] - список выделенных строк;
Или
   property Position - позиция курсора (фокус);


 
Max727   (2007-09-03 16:51) [2]

Решение нашел:

procedure TfmMain.xl1FocusChange(Sender: PControl; ACol, ARow: Integer);
begin
 xl1.SetSelectedAll(False);
 xl1.SelectedRows[xl1.Position.Y] := True;
 xl1.CurIndex:=xl1.Position.Y;
end;

...

procedure TfmMain.xl1KeyDown(Sender: PControl; var Key: Integer;
 Shift: Cardinal);
 var itmp:integer;
begin
 if Key = 46 then
 begin
   itmp:=xl1.CurIndex;
   xl1.DeleteRow(itmp);
 end;
end;


так - работает
извините за беспокойство

mdv спасибо, что указал направление



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
15-1206628012
Jeer
2008-03-27 17:26
2008.05.11
Выпускникам ВУЗ-ов с военной кафедрой..


2-1207913235
Rhammer
2008-04-11 15:27
2008.05.11
Проблемы при переборе символов в строке


4-1188755239
PIG
2007-09-02 21:47
2008.05.11
синхронизация времени


2-1207896329
Guriev
2008-04-11 10:45
2008.05.11
Как прописать "пробел" при нажатии на Enter?


2-1208175871
assassin8899
2008-04-14 16:24
2008.05.11
AQL запрос