ListView jak przesunąć wiersz o 1 w górę lub w d

0

Poprzez dwuklik i enter na listview1 kopiuje cały wiersz do listview2.
Potrzebuję zrobić :
1)kiedy pojawia się suwak na listView2 to nie widzę czy się przekopiowało czy nie, potrzebuję przesunąć widok na listview2 tak aby była widoczna ostatnia pozycja.

2)<font color="red">potrzebuję przesunąć wiersz w Listview2 o jeden w górę lub jeden w dół.</span>

Proszę o pomoc.
Pozdrawiam wszystkich życzliwych.

0
  1. po przekopiowaniu do drugiego listvieva dajest item.makevisible(true) i po sprawie

  2. prosta pętelka for i:=0 to items.count-1 i lecisz po itemach sprawdzając warunek i deletujesz, to jest proste

0

Johnny_Bit Dzięki Ci bardzo !!!

Może wiesz jeszcze jak zrobić w ListView przesunięcie zaznaczonego wiersza o jeden w górę lub jeden w dół.

Z góry dziękuję za podpowiedź (lub przykład).

0

kurde, mam to w swoim programie, ale u mnie jest to oparte na exchange listy, może w listview też jest coś takiego...

0

Może jednak ktoś coś pomoże z tym przesunięciem wiersza w ListView.
Ja nie mam zielonego pojęcia jak to zrobić.

Już znalazłem :

procedure Exchange(List: TListView; Idx1, Idx2: Integer);
var
   Item: TListItem;
begin
   Item := TListItem.Create(List.Items);
   try
      Item.Assign(List.Items[Idx1]);
      List.Items[Idx1] := List.Items[Idx2];
      List.Items[Idx2] := Item;
   finally
      Item.Free;
   end;
end; 

Użycie:
Exchange(ListView, 1, 2);




procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
APoint: TPoint;
begin
   APoint.X := X;
   APoint.Y := Y;
   index := TListBox(Sender).ItemAtPos(apoint, True);
   if Source.ClassType = TListBox then
   if TListBox(Source).ItemIndex >= 0 then
   begin
      TListBox(Sender).Items.Insert(index,TListBox(Source).Items[TListBox(Source).ItemIndex]);
      if Sender = Source then TListBox(Source).Items.Delete(TListBox(Source).ItemIndex);
   end ;
   if Source.ClassType = TCheckBox then
   TListBox(Sender).Items.Insert(index,TCheckBox(Source).caption);
end;

procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
   State: TDragState; var Accept: Boolean);

begin
accept:=true;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1