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

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

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


yakshe ©   (2002-03-07 23:54:00) 

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

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

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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


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

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

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


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

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

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

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


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

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

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


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

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


Наверх

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