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

ListView   Найти похожие ветки 

← →
Александр ©   (2002-08-18 14:31) [0]

Скажите пожалуйста как правильно удалить все выбранные пользователем строки?


← →
stany ©   (2002-08-18 15:02) [1]

Грубо говоря так:ListView1.Items.Delete[ListView1.Selected.Index];


← →
McSimm ©   (2002-08-18 15:03) [2]

Например так:

for i := LV.Items.Count - 1 downto 0 do
if LV.Items[I].Selected then LV.Items[I].Delete


← →
Александр ©   (2002-08-18 15:54) [3]

Спасибо. Я примерно так и делал, только он мне писал ошибку какую-то, что сперва надо закрыть какую-то форму


← →
cypher ©   (2002-08-18 16:51) [4]

помоему это не прально
например, Count = 10...
Выделяем пять штук... начинаем удалять... выскочит ошибка out of range. так как Count при каждом удалении будет уменьшаться, но цикл будет крутиться до 10.
я предлагаю такой вариант


i:=0;
while i<LV.Items.Count do begin
if LV.Items[i].Selected then LV.Delete(i);
Inc(i);
end;


хотя я могу и ошибаться...


← →
TTCustomDelphiMaster ©   (2002-08-18 17:11) [5]


> cypher © (18.08.02 16:51)
> хотя я могу и ошибаться...


Точно ошибаешься


← →
Александр ©   (2002-08-18 17:21) [6]

Всем свойственно ошибаться.


← →
Юрий Зотов ©   (2002-08-18 19:05) [7]

> cypher © (18.08.02 16:51)

Цикл будет крутиться не до 10, а до нуля - вы не обратили внимание на downto. Поэтому ошибки и не возникнет. В восходящем цикле она бы точно возникла - как Вы и сказали.


← →
cypher ©   (2002-08-19 00:42) [8]

сдаюсь =)


← →
lensky ©   (2002-08-19 08:49) [9]

hmmm a Selected property ne bistree proverit" v nachale? a to esli list bol"shoi a item naprimer v nachale, to ne obosnovania trata vremeni imho...


← →
lensky ©   (2002-08-19 09:05) [10]

ia by skazal tak

if ListView1.SelCount>0 then
begin
i:=(ListView1.Selected as TListItem).Index;
Listview1.items.BeginUpdate;
while i<ListView1.Items.Count do begin
if ListView1.Items[i].Selected then ListView1.Items[i].Delete
else Inc(i);
end;
Listview1.items.EndUpdate;
end;

moshno viloby eshe ne prodolshat" kogda udaleno itemov stokoshe skoko SelCount, nu da ladno



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

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



Память: 0.47 MB
Время: 0.016 c
1-95906
msg
2002-08-16 08:56
2002.08.29
Как убрать с окна рамку 3х мерности


3-95642
Guerrillero Che
2002-08-07 15:25
2002.08.29
НД


1-95753
кондратий
2002-08-19 10:47
2002.08.29
DLL / Units


3-95644
Vladislav
2002-08-07 17:20
2002.08.29
Защита.


1-95762
Юрий Федоров
2002-08-19 14:31
2002.08.29
TMyForm = class(TForm, IMyForm)




   Наверх