Главная страница
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.032 c
6-1129916157
Volf_555
2005-10-21 21:35
2006.02.12
Докачка файлов по сети


3-1134573689
CarlCorey
2005-12-14 18:21
2006.02.12
пороблемы с MySQL


6-1130246746
Monah
2005-10-25 17:25
2006.02.12
как сделать ирк клиент средствами делфи


15-1137576334
begin...end
2006-01-18 12:25
2006.02.12
Как отключить XP-стиль у окошка входа в Windows XP?


2-1138275086
MIXER
2006-01-26 14:31
2006.02.12
KeyPress