Главная страница
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.029 c
2-1137861040
JEK2
2006-01-21 19:30
2006.02.12
Настройки программы в файле как?


2-1138312913
Goryn
2006-01-27 01:01
2006.02.12
Окна нет


2-1137966872
pikass
2006-01-23 00:54
2006.02.12
Помогите с множеством


15-1137435668
Kerk
2006-01-16 21:21
2006.02.12
Проблемы с логином в асе


15-1137764826
DillerXX
2006-01-20 16:47
2006.02.12
Вам не кажется что день становится длиннее?