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




Вниз

Удалить строку из TStringGrid 


yakshe   (2002-03-07 23:54) [0]

В FAQ не нашёл. Вопрос конечно ламерский, но я попал в клинч, не могу сделать хоть тресни. Помогите! Нужно удалить строку из TStringGrid. Пробую (это для первой ячейки вроде, но иначе как?)

TStringGrid.Rows[1].Delete[1];

Пишет: "cannot insert or delete rows from grid".

Заранее спасибо.



Искатель   (2002-03-07 23:58) [1]

Изменение количества строк в StringGrid производится через свойство RowCount



yakshe   (2002-03-08 00:16) [2]

to Искатель
>Изменение количества строк в StringGrid производится через >свойство RowCount

Нужно удалить именно указанную строку (например выделенную). RowCount изменяет кол-во строк вообще.
С уважением.



Искатель   (2002-03-08 00:32) [3]

// пусть k - номер удаляемой строки

// предварительно перемещаем все строки с k-ой на одну наверх
for i:=k to RowCount-2 do
Row[i]:=Row[i+1];

// потом уменьшаем количество строк
RowCount:=RowCount-1;



Искатель   (2002-03-08 00:38) [4]

несколько перепутал - вместо Rows поставил Row

for i:=k to RowCount-2 do
Rows[i]:=Rows[i+1];



yakshe   (2002-03-08 00:56) [5]

to Искатель
Большое спасибо. Получилось.
И как я сам не догадался))))

P.S. А интересно, что делает Delete?



Anatoly Podgoretsky   (2002-03-08 08:05) [6]

Как что, ругается "cannot insert or delete rows from grid"



yakshe   (2002-03-08 12:20) [7]

Я имел ввиду, а можно ли с помощью процедуры Delete строку удалить?



Anatoly Podgoretsky   (2002-03-08 21:28) [8]

Нет, перемещай следующие на место удаляемой и RowCount:=RowCount-1;



Builder   (2002-03-09 02:18) [9]

А как насчет того, что этим Вы не убиваете инфу, которая там лежит и если увеличиться RowCount, то она всплывет.
Затирать нужно(на будущее).



Anatoly Podgoretsky   (2002-03-09 02:30) [10]

Builder © (09.03.02 02:18)
Зачем делать не нужную работу, всплывет, не всплывет, вот когда будущее настанет, тогда и инициализировать.



MBo   (2002-03-09 08:05) [11]

>помощью процедуры Delete строку удалить
свойство Rows - типа TStrings, так что Delete[i] должно, как кажется, удалять содержимое ячейки, на самом же деле это запрещенная по понятным причинам операция (InvalidOp). Однако многие другие функции TStrings для Rows и Сols реализованы.



Искатель   (2002-03-09 14:30) [12]

Какой флейм поднялся из-за тривиально решаемой проблемы. Никогда бы не подумал.




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




Наверх





Память: 0.73 MB
Время: 0.026 c
4-80717           Dimich                2002-01-25 14:32  2002.03.25  
Как можно получить текущую раскладку клавы


1-80599           JibSkeart             2002-03-11 12:18  2002.03.25  
Программно Добавить Итем и СабИтем в TTreeView


7-80696           belobadgo             2001-12-06 16:52  2002.03.25  
Как проиграть wav-файл в телефонную линию.


1-80604           fag2000@ok.ru         2002-03-11 13:10  2002.03.25  
Как сделать так чтобы окно появлялось над чужим окном


1-80458           sany                  2002-03-08 08:10  2002.03.25  
Решил сделать прогу, которая заменяла бы в html файлах ...