ListView'de listeme yaparken her satırda görünenlerin dışında veri(Object) saklamak için bir yöntem:
Örneğin; listview'de kişi bilgilerini gösteriyoruz; Ad ve soyad.*
Fakat kişinin ayrıca*Telefon ve Doğum Tarihi bilgileri de var. Bunları da her*listview satırı içinde saklamalı ve gerektiğinde kullanmalıyım.
Bunun için TListItem'dan bir sınıf türetip gerekli bilgilerimizi tanıtmalıyız:
TKisi = class(TListItem)
* private
* * FAd: string;
* **FSoyad: string;
* * FTarih: TDateTime;
* * FTelefon: string;
* public
* * property Ad: string read FAd write FAd;
* * property Soyad: string read FSoyad write FSoyad;
* * property Tarih: TDateTime read FTarih*write FTarih;
* * property Telefon: string read FTelefon write FTelefon;
* end;
Daha sonra*Listview'ın OnCreateItemClass olayında yukarıdaki sınıfımızı tanıtmamız gerekiyor:
procedure TForm1.ListView1CreateItemClass(Sender: TCustomListView; var ItemClass: TListItemClass);
begin
*ItemClass := TKisi;
end;
Artık Listview'a ekleme yaparken ve okurken TKisi sınıfını kullanabilirim:
var
* kisi: TKisi;
begin
* kisi := TKisi(ListView1.Items.Add);
* kisi.Ad := 'adım';
* kisi.Soyad := 'soyadım';
* kisi.Telefon := '0123456789';
* kisi.Tarih := Now;
* kisi.Caption := kisi.Ad + ' ' + kisi.Soyad; // Caption'a ekranda görünmesini istediğim bilgileri yazıyorum
Sakladığımız verileri*okumak:
Örneğin listview'e çift tıklandığında:
procedure TForm1.ListView1DblClick(Sender: TObject);
begin
* ShowMessage(TKisi(ListView1.Selected).Telefon);
end;
Bu kullanım şeklinin en büyük artısı: Sakladığım TKisi sınıfı verilerini Free etmekle uğraşmıyorum*
Örneğin; listview'de kişi bilgilerini gösteriyoruz; Ad ve soyad.*
Fakat kişinin ayrıca*Telefon ve Doğum Tarihi bilgileri de var. Bunları da her*listview satırı içinde saklamalı ve gerektiğinde kullanmalıyım.
Bunun için TListItem'dan bir sınıf türetip gerekli bilgilerimizi tanıtmalıyız:
TKisi = class(TListItem)
* private
* * FAd: string;
* **FSoyad: string;
* * FTarih: TDateTime;
* * FTelefon: string;
* public
* * property Ad: string read FAd write FAd;
* * property Soyad: string read FSoyad write FSoyad;
* * property Tarih: TDateTime read FTarih*write FTarih;
* * property Telefon: string read FTelefon write FTelefon;
* end;
Daha sonra*Listview'ın OnCreateItemClass olayında yukarıdaki sınıfımızı tanıtmamız gerekiyor:
procedure TForm1.ListView1CreateItemClass(Sender: TCustomListView; var ItemClass: TListItemClass);
begin
*ItemClass := TKisi;
end;
Artık Listview'a ekleme yaparken ve okurken TKisi sınıfını kullanabilirim:
var
* kisi: TKisi;
begin
* kisi := TKisi(ListView1.Items.Add);
* kisi.Ad := 'adım';
* kisi.Soyad := 'soyadım';
* kisi.Telefon := '0123456789';
* kisi.Tarih := Now;
* kisi.Caption := kisi.Ad + ' ' + kisi.Soyad; // Caption'a ekranda görünmesini istediğim bilgileri yazıyorum
Sakladığımız verileri*okumak:
Örneğin listview'e çift tıklandığında:
procedure TForm1.ListView1DblClick(Sender: TObject);
begin
* ShowMessage(TKisi(ListView1.Selected).Telefon);
end;
Bu kullanım şeklinin en büyük artısı: Sakladığım TKisi sınıfı verilerini Free etmekle uğraşmıyorum*
