Главная страница
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.059 c
9-1124859350
Slavikk
2005-08-24 08:55
2006.02.12
Маштабируемая физика


2-1138181801
Ell
2006-01-25 12:36
2006.02.12
Часть строковой переменной


4-1133172043
kblc
2005-11-28 13:00
2006.02.12
Thread u Com


2-1138336877
Ezorcist
2006-01-27 07:41
2006.02.12
домашнее задание))


2-1137865921
Alex222
2006-01-21 20:52
2006.02.12
Помогите начинающему!!!