Listview - edycja Caption w pętli

0

Siemako

W Listview posiadam 2 kolumny - Caption i Subitem.

Do Caption nie wpisuję nic, tylko do Subitem.
Przykładowo ma 10 wpisów w tabelce i teraz zastanawiam się jak wyedytować od 1 do 10 pozycji Caption'a wpisując do niego wartości od 1 do 10.
Jak próbowałem dodać wpisy do Captiona to dodawał od pozycji 11-stej wzwyż.

Przeszukałem nawet swoje tutejsze posty bo kiedyś już o to pytałem ale nie znalazłem. :/
Czy ktoś może mi napisać jak edytować Caption w wierszach które istnieją w tabeli? [soczek]

0

ListView.Items.Item[i].Caption := IntToStr(i);
Czy jakoś tak, piszę z głowy.

0
listview1.Items[1].Caption := 'Tekst';

// spóźniłem się

0

No własnie w ostatniej chwili znalazłem swój post i jest to samo co napisaliście :) Dzięki.

Tylko jeden kłopot się wkradł bo mi pokazuje z góry liczbę wynoszącą ilość wierszy w Listview czyli z góry na dół mam 10, ale sobie jakoś poradzę. ;)

OK zrobiłem, może się komuś przyda:

var
 i:integer;
begin
 Lista.Items.BeginUpdate;
  try
   for i:=1 to Lista.Items.Count -1 do
   Lista.Items.Item[i].Caption :=IntToStr(i+1)+'.';
  finally
 Lista.Items.EndUpdate;
end;
end;

Kodzik numeruje z góry na dół Captiona od 1 do ...Items.Count -1

0
Dome napisał(a)

No własnie w ostatniej chwili znalazłem swój post i jest to samo co napisaliście :) Dzięki.

Tylko jeden kłopot się wkradł bo mi pokazuje z góry liczbę wynoszącą ilość wierszy w Listview czyli z góry na dół mam 10, ale sobie jakoś poradzę. ;)

OK zrobiłem, może się komuś przyda:

var
 i:integer;
begin
 Lista.Items.BeginUpdate;
  try
   for i:=1 to Lista.Items.Count -1 do
   Lista.Items.Item[i].Caption :=IntToStr(i+1)+'.';
  finally
 Lista.Items.EndUpdate;
end;
end;

Kodzik numeruje z góry na dół Captiona od 1 do ...Items.Count -1

a nie powinno byc od zera? bo delphi liczy itemy od 0...

0

a nie powinno byc od zera? bo delphi liczy itemy od 0...

Nie chciałem aby mi listę numerowało od zera tylko od 1.

0

ok ale zeby wszystko dzialalo musi byc od zera bo inaczej to cu pierwsza pozycje pominie

Prawidlowy kod:

var
 i:integer;
begin
 Lista.Items.BeginUpdate;
  try
   for i:=0 to Lista.Items.Count -1 do
   Lista.Items.Item[i].Caption :=IntToStr(i+1)+'.';
  finally
 Lista.Items.EndUpdate;
end;
end;

przeciez jak i bedzie zero to itak wstawiasz wartosc o 1 wieksza

0

No wcześniej tak miałem tylko nie wiem po co poprawiłem na niepoprawną wersję. ;) Wróciłem do poprzedniej czyli tej co napisałeś. ;]

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