Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.13;
Скачать: CL | DM;

Вниз

Наверно простой вопрос, но все-таки...   Найти похожие ветки 

 
Andrey-k ©   (2002-05-31 21:15) [0]

Как в StrigGride удалить строку? Использование других разновидностей гридов не приемлемо. Заранее спасибо.


 
MBo ©   (2002-05-31 21:23) [1]

http://delphibase.endimus.com/?action=viewfunc&topic=vclctrl&index=2


 
Andrey-k ©   (2002-05-31 22:02) [2]

спасибо


 
Andrey-k ©   (2002-05-31 22:22) [3]

слушай, но медлено!


 
Andrey-k ©   (2002-05-31 22:25) [4]

если уже 1000 строк, то приехали.
можно идти пить чай


 
Song ©   (2002-05-31 22:34) [5]

Сначала всё удалите что нужно, а сдвигать будете потом.
Кстати, чай если вкусный, тоже неплохо :)


 
Andrey-k ©   (2002-05-31 22:41) [6]

идея неплохая :)


 
MBo ©   (2002-05-31 22:57) [7]

>Andrey-k
type
TXGrid=class(TCustomGrid);
....
TXGrid(StringGrid1).DeleteRow(N);





 
Andrey-k ©   (2002-05-31 23:18) [8]

Спасибо. это похоже то, что надо
приемлемо


With Form1.StringGrid1 do
Repeat
If (Cells[x,y]<>Str) then
TXGrid(Form1.StringGrid1).DeleteRow(i)
else
inc(i);
Until RowCount=i;


COOL!


 
Andrey-k ©   (2002-06-02 01:33) [9]

Прикол!
если я хочу после удалений выполнить заполнение грида заново, то вижу ранее удаленные строки :)
т.е. из Rows они не убились!
хм как на ето повлиять?


Перед заполнением заново ставлю RowCount:=0, может ошибаюсь?
(может надо Rows чистить по другому, но память приложение не жрет, если не было удалений - значит это присвоение чистит лист Rows)



 
Andrey-k ©   (2002-06-02 01:42) [10]

а с удалением память приложение жрет


 
Agent Smith ©   (2002-06-02 07:38) [11]


StringGrid1.Rows[StringGrid1.Row].Clear;
for i:=StringGrid1.Row+1 to N do
StringGrid1.Rows[i-1]:=StringGrid1.Rows[i];

Удаляем стороку, которая в данный момент находится в фокусе, затем сдвигаем все остальные строки, стоящие после нее.
N-номер послдней строки, не забудь, что считаем с нуля :)
В моей программе есть таблица на 100 строк, при нажатии не кнопку выделенная строка удаляется, а все последующие сдвигаются. Все прекрасно работает.


 
Anatoly Podgoretsky ©   (2002-06-02 09:25) [12]

Andrey-k © (02.06.02 01:33)
Как чего, раньше очистить ячейки, а потом удалять


 
Andrey-k ©   (2002-06-02 13:41) [13]

>Agent Smith

До этого уже MBo придлагал такой способ, только он копировал Assignoм Rows.

У меня 2000 строк и для удаления первой, 5 секунд ждать не приемлемо пока переприсвоится 2000-1 указателей!

Похоже выход один - держать в гриде максимум 100 строк


 
Agent Smith ©   (2002-06-02 14:06) [14]


> Похоже выход один - держать в гриде максимум 100 строк

Я так и сделал :)


 
Andrey-k ©   (2002-06-02 14:25) [15]

Я нашел AdvStringGrid - он работает! Но вот когда деньги придется платить? :)
Приложение с этим компонентом выростает до 800к, исходников нет.
Возможно придется все переделывать... а не хотелось бы :)

мастера, еще есть идеи - как побороть удаление в TStringGrid?


 
Andrey-k ©   (2002-06-02 16:51) [16]

через жопу он работает ....
MouseWheelUp и MouseWheelDown прикол :) колесо крутит через 5 строк минимум! Как не стараюсь следующую не дает :))))
уже нервы .


 
Andrey-k ©   (2002-06-02 16:53) [17]

ха опять вижу ранее удаленные строки :)
Во блин, как прям с TXGrid-примером



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

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

Наверх




Память: 0.5 MB
Время: 0.015 c
8-40114
xm_Root
2002-01-30 02:23
2002.06.13
Исходные коды игр


1-40072
Korona
2002-06-01 19:37
2002.06.13
Убрать все кнопки кроме Close в MDIChild


3-39966
studentik
2002-05-20 16:19
2002.06.13
Возник вопрос: что лучше?


14-40151
and_sp
2002-05-08 10:56
2002.06.13
Install Shield для Delphi 3


1-40033
demon-777
2002-05-30 04:04
2002.06.13
Как вызвать стандартное окно