Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.004 c
1-40057
Новеньки в Делфи
2002-06-01 20:13
2002.06.13
CopyFile


1-40106
eSKey
2002-05-24 12:35
2002.06.13
Бред с отображением кэпшнов на формах.


1-40089
I love Warez
2002-05-31 17:09
2002.06.13
Запишем содержимое Memo в INI файл полнотью...


1-40062
DeMoN-777
2002-06-02 09:34
2002.06.13
Удаление левых символов


4-40199
kvcomp
2002-03-05 16:25
2002.06.13
Как сгенерировать нажатие клавиши?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский