Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.25;
Скачать: 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 вся ветка

Текущий архив: 2002.03.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
1-80622
Валера_
2002-03-04 11:19
2002.03.25
Наболевший вопрос. Корректно ли такое освобождение памяти


3-80407
fidget
2002-02-26 12:14
2002.03.25
Объединение 2х баз.


1-80489
BJValentine
2002-03-05 19:05
2002.03.25
COM - объект


6-80649
otari
2002-01-09 10:59
2002.03.25
Как мне откривать кокоинибуть TPC/IP порт


1-80591
AL Greko
2002-03-09 15:41
2002.03.25
CAD Library