ListView

vložil Radek Červinka 17. ledna 2013 22:33

S překvapením pozoruji jak je přehlížena komponenta TListView. Přijde mi, že v některých případech by někomu usnadnila práci.

ListView

Pro mne je nejužitečnější samozřejmě mód Report, a to jak v módu groupování (viz. první obrázek) nebo častěji v klasickém módu jako na následujícím obrázku (všimněte si pěkného vykreslení výběru).

ListView

V módu report se dá zobrazovat několik sloupců podobně jako v gridu, přičemž mřížka se dá vypnout. Tento mód se dá bez problému použít pro zobrazení menšího množství dat. Pro zobrazení v tomto módu je nutno nastavit mód na vsReport, dále je nutno definovat sloupce Columns a nechat je zobrazit (ShowColumnHeader).

ListView

Grupovací mód se zapne přes volbu GroupView a definicí Groups a pak se dá každá položka zařadit do nějaké skupiny, přičemž zobrazení pro každou skupinu je konfigurovatelné - viz obrázek.

ListView

ListView

Práce s ListView je hezky objektově zapouzdřena, např. přidávání

procedure TForm5.btn1Click(Sender: TObject);
var
  li: TListItem;
begin
  li := listview2.Items.Add;
  li.Caption := 'První sloupec';
  li.SubItems.Add('Další sloupec');
  li.SubItems.AddObject('Sloupec 3', nil ); // případná reference na jiný objekt

// případné nastavení ikon
  li.ImageIndex := 1;
  li.SubItemImages[0] := 1;
  li.SubItemImages[1] := 2;
  ShowMessage(li.SubItems[1]); // zobrazí Sloupec 3
end;

Samozřejmě můžeme vzhled změnit díky stylům, např. na něco takového:

ListView

Co se bude stylovat lze nastavit

ListView

např. s výsledkem

ListView

Nakonec ještě připomenu, že existuje možnost i virtuálního módu této komponenty pro zobrazení tuny dat, ale v tom případě bych šel do Virtual TreeView, který má neskonale větší možnosti a proto se tím zabývat nebudu. A nakonec lze použít i OwnerDraw vykreslování, ale v tomto případě platí to samé jako v prvním případě.

Tagy: ,

Komponenty

Komentáře

18.1.2013 8:20:51 #

pepak

Docela jsem si zvykl používat ListView všude tam, kde potřebuju zobrazit informace a intuice by mě směrovala na StringGrid nebo na owner-draw Listbox. ListView v report módu se v takových situacích ukazuje jako podstatně výhodnější.

Zato jsem nějak nepřišel na chuť ostatním režimům, pro ty nějak nemám využití.

pepak

18.1.2013 10:06:10 #

z.

ListView je vybornej na drobne veci, vyuzivam celkem casto,
takovej ListBox nebo StringGrid jsem snad vubec nepouzil

a ostatni rezimi mimo Report mi taky pripadaj zbytecne,
pokud si zrovna nedela nekdo File Explorer :D

z.

17.6.2013 14:19:54 #

Martin

ListView mám rád a používám jej raději než StringGrid. Naprosto skvělý je GroupView.
V současné době by se ale hodila kombinace TreeView a ListView - prostě vícesloupcový seznam se stromovou strukturou.

Martin

17.6.2013 14:57:08 #

radekc

>prostě vícesloupcový seznam se stromovou strukturou.
virtual tree view

radekc

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců