Вниз
Скачать: CL | DM;

Удалить строку из 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]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.006 c
1-80590
AlexNord
2002-03-10 03:19
2002.03.25
Progress Bar или что то похожее!:)


7-80711
Andrey196
2001-12-23 20:06
2002.03.25
Как программно поменять разрешение экрана


1-80598
DeNNiss
2002-03-11 09:24
2002.03.25
Уважаемые Мастера!


14-80662
savva
2002-02-11 10:23
2002.03.25
а что чат сдох?


3-80437
Sewix
2002-02-27 14:08
2002.03.25
Как подключить данные из Access в Delphi




   Наверх