Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удаление строки в Stringgrid [D5]


Rash ©   (2002-01-28 14:48:00) 

Подскажите, пожалуйста:
if (key=VK_DELETE)
then if (shift = ([ssCtrl]))
then begin
grid.rows[grid.row].delete(grid.row)
end
else grid.Cells[grid.col,grid.row]:="";
По ctrl-Del выдается ошибка - нельзя удалить колонку или строку.
Как здесь нужно использовать Delete? Или проще переприсвоить значения в сетке? (Сетка используется для ввода перечня деталей в заказе).


Rash   (2002-01-28 18:13:00) [1]

Спасибо!!!


MBo   (2002-01-28 16:18:00) [2]

метод класса TStrings delete уничтожает 1 строку из списка - в данном случае это не работает, обращение или ко всей строке как к TStrings или к ячейке - String.
Вообще-то в TCustomGrid есть protected метод DeleteRow, недоступный у его наследников в лоб. Хитрость вот такая:
в своем модуле
THackGrid=class(TCustomGrid);

...
THackGrid(StringGrid1).DeleteRow(StringGrid1.Row);


Rash   (2002-01-28 15:46:00) [3]

Спасибо! В принципе, так и думала. Получается, непосредственно удалить строку нельзя? А зачем тогда метод Delete?

В справке есть: TStringGridStrings.Delete


MBo   (2002-01-28 14:58:00) [4]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1012079550&n=0


Наверх

Титульная страница Поиск, карта сайта Написать письмо