Jak przesunąć pozycję w komponencie ListView

Coldpeer

Przesuwanie zaznaczonej pozycji o jedno w górę:

if (ListView1.ItemIndex <> 0) and (ListView1.Selected <> nil) then
  begin
    ListView1.Items.BeginUpdate;
    try
      ListView1.Items.Insert(ListView1.Selected.Index+2).Assign(ListView1.ItemFocused);
      ListView1.ItemFocused.Delete;
    finally
      ListView1.Items.EndUpdate;
    end;
  end;

A w dół:

  if (ListView1.ItemIndex <> 0) and (ListView1.Selected <> nil) then
  begin
    ListView1.Items.BeginUpdate;
    try
      ListView1.Items.Insert(ListView1.Selected.Index-1).Assign(ListView1.ItemFocused);
      ListView1.ItemFocused.Delete;
    finally
      ListView1.Items.EndUpdate;
    end;
  end;

Aby zobaczyć efekty, właściwość ViewStyle musi być ustawiona na vsList albo vsReport.

FAQ

0 komentarzy