Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Вниз

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


Rash   (2002-01-28 14:48) [0]

Подскажите, пожалуйста:
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? Или проще переприсвоить значения в сетке? (Сетка используется для ввода перечня деталей в заказе).



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

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



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

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

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



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

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

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



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

Спасибо!!!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.026 c
1-32222           Duce                  2002-01-25 14:52  2002.02.11  
Error : Control has no parent window


1-32184           Guest.                2002-01-29 11:09  2002.02.11  
Новая папка


1-32252           67108864              2002-01-26 19:09  2002.02.11  
Console - textcolor.


1-32274           чайничек              2002-01-27 09:50  2002.02.11  
Переместить название одного узла (подузла) TTreeView в Edit или ComboBox


4-32373           ikar                  2001-12-13 12:31  2002.02.11  
Необходимо скопировать текст выделенный в любом другом приложении.