![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с ListVew [D5, Win95/98, WinME, NT4, Win2k, WinXP]
ctapik-net © (2002-11-10 15:54:00)У меня есть на форме лист ListVew с несколькими колонками. В одной из них находятся числа. Мне необходимо при выделении итемов выводить сумму чисел в этой колонке. Пробовал через OnItemSelect неработает случай когда итем поменял свое свойство Selected с true в false (почему не знаю). Просмотр всего списка идея неудачная, так как количество итемов у меня за 100000. Что посоветуете? Заранее благодарен.
TTCustomDelphiMaster (2002-11-10 22:01:00) [1]ctapik-net
Я вам подсказал обработчик, который реагирует на выделение элемента. Как его правильно использовать - дело техники.
ctapik-net (2002-11-10 18:46:00) [2]to KoluChiДаже более чем терпимо! Большое спасибо
ctapik-net (2002-11-10 18:41:00) [3]To TTCustomDelphiMasterНе оригинально, сам посмотри что там написано "Change is ctState if the Cut, Focused, or Selected property of the item changed." И че мне делать с суммой если итем не выделен но у него поменялось значение Cut or Focused.
to KoluChiэто уже получше, сейчас посмотрю код на быстродействие... Терпимо...
to AllИдеальное решение было бы заставить OnSelectItem выдавать Item<>nil когда он UnSelectnuls"я но на данный момент у меня это почему-то на так. Может из-за OwnerData=true?
Кулюкин ОлегЭто не моя проблема. Мне сказано сделать я делаю.
Кулюкин Олег (2002-11-10 17:01:00) [4]2 ctapik-net © (10.11.02 15:54)
На вопрос уже ответили, так что просто опоинтересуюсь
> Просмотр всего списка идея неудачная, так как количество итемов у меня за 100000
А как юхер может работать с таким количеством?
ИМХО, нереально.
TTCustomDelphiMaster (2002-11-10 16:46:00) [5]F1 - TListView.OnChange
KoluChi (2002-11-10 16:35:00) [6]собрать список выделенных Item"ов
var
I: Integer;
LI: TListItem;
begin
if ListView1.SelCount = 0 then Exit;
LI := ListView1.Selected;
for I := 1 to ListView1.SelCount do
begin
ShowMessage(LI.Caption);
LI := ListView1.GetNextItem(LI, sdAll, [isSelected]);
end;
end;
KoluChi (2002-11-10 16:06:00) [7]SelCount, Selected