![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление строки в 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