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

Вниз

Как изменить позицию элемена в TListView   Найти похожие ветки 

 
Zoidberg ©   (2006-01-07 14:55) [0]

Как можно изменить позицию элемента (строки) в TListView не используя сортировку?


 
raidan ©   (2006-01-07 18:25) [1]

Поменять местами эту строку с той, куда ты этот элемент хочешь поместить.


 
Zoidberg ©   (2006-01-07 19:10) [2]

А если я хочу переместить элемент из начала в конец, это нужно будет все элементы по порядку переписывать (включая Subitems)? А другого способа нет?


 
raidan ©   (2006-01-07 19:15) [3]

TListView - это динамический массив, если я чего не путаю.

Только так:
function MoveListViewItem(listView: TListView; ItemFrom, ItemTo: Word): Boolean;
var
  Source, Target: TListItem;
begin
  Result := False;
  listview.Items.BeginUpdate;
  try
    Source := listview.Items[ItemFrom];
    Target := listview.Items.Insert(ItemTo);
    Target.Assign(Source);
    Source.Free;
    Result := True;
  finally
    listview.Items.EndUpdate;
  end;
end;


 
Zoidberg ©   (2006-01-09 15:50) [4]

Спасбо, но это все равно не помогло.
Сначала вообще ничего не менялось, пока не изменил
Target := listview.Items.Insert(ItemTo);
на
Target := listview.Items.Insert(ItemTo + 1);
Потом все вроде заработала, но после нескольких таких переносов, программа вываливалась с ошибкой... Причину мне найти не удалось, решил все бросить, и сделать все же через сортировку.


 
Lamer@fools.ua ©   (2006-01-09 16:04) [5]

procedure TForm1.Button1Click(Sender: TObject);
var
 LI: TListItem;
begin
 if ListView1.Selected = nil then
   Exit;

 LI := ListView1.Items.Insert(0);
 LI.Assign(ListView1.Selected);
 ListView1.Items.Delete(ListView1.Selected.Index);
end;


?



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
15-1137788541
Хинт
2006-01-20 23:22
2006.02.12
Хостинг fatal.ru


4-1132931995
Kent
2005-11-25 18:19
2006.02.12
серийный номер винта!!!


4-1133121307
sergey1
2005-11-27 22:55
2006.02.12
что нужно сделать чтобы DlgDirList выводил еще и файлы


15-1137501913
Yegorchic
2006-01-17 15:45
2006.02.12
Сотовый с ИК-портом...


15-1137679046
han_malign
2006-01-19 16:57
2006.02.12
Россия пошатнулась под ударами морозов