Projemde Listviewe checkbox eklemeye çok uğraşmıştım. Örnekleri birebir yapmama rağmen olumsuz sonuç almıştım. En son yeni boş proje oluşturup denediğimde çalıştırabilmiştim. Orjinal projemi Tokyo öncesi bir ürümde oluşturduğumu hatırlıyorum. Eğer sizde böyle sorun yaşarsanız bilginiz olsun.
(13-11-2019, Saat: 12:04)seydigozegir@gmail.com Adlı Kullanıcıdan Alıntı: [ -> ] (17-10-2016, Saat: 14:48)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba;
FireMonkey mimarisinde ListView nesnesiyle tek veya çoklu seçimler yaparak, toplu işlem yapmayı sağlayabilirsiniz. Bunun için ListView'in EditMode özelliği kullanılmaktadır.
ListView'in CheckBox (seçim) özelliğini kullanmak için Formun OnCreate olayına aşağıdaki kodu yazmanız yeterlidir.
ListView1.EditMode := True;
Bu kodu herhangi bir olaya bağlayarak istediğiniz zamanda etkin olmasını da sağlayabilirsiniz.
Örneğin;
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
LItem: TListViewItem;
begin
ListView1.Items.Clear;
ListView1.BeginUpdate;
for I := 1 to 10 do
begin
LItem := ListView1.Items.Add;
LItem.Data['Text1'] := I.ToString() + '. Kayıt'; //DynamicAppearance kullanıyorsanız, Normal Text için ise ---> LItem.Text := I.ToString() + '. Kayıt'; kullanın
end;
ListView1.EndUpdate;
ListView1.EditMode := True;
end;

Seçimli olan veya olmayan kayıtların tespitini yapmak için TListViewItem'ın Checked özelliği kullanılmaktadır.
Aşağıda bir örnekle Cheked özelliğinin kullanımı örneklendirilmiştir.
procedure TForm2.SpeedButton2Click(Sender: TObject);
var
I: Integer;
begin
Memo1.Lines.Clear;
for I := 0 to ListView1.Items.Count - 1 do
begin
with ListView1.Items[i] do
begin
if Checked = True then
Memo1.Lines.Add((I + 1).ToString() + '. Kayıt Seçili')
else
Memo1.Lines.Add((I + 1).ToString() + '. Kayıt Maalesef Seçili Değil!')
end;
end;
end;

Seçim işlemi ListView'in doğal özelliği olan EditMode ile yapılabildiği gibi GlyphButton ile de yapılabilmektedir.
Örnekte ListView EditMode ve GlyphButton Checked modu ayrı ayrı test edilmiştir.
Ayrı butonlarda tüm Item'lar checked durumuna alınmış ve yine ayrı bir butonda Checked durumları Memo'da gösterilmiştir.
Ekran Görüntüsü:

Örnek Uygulama Linkleri:
EditMode Örneği
EditMode ve GlyphButton Örneği
Örnek Uygulama Linkleri:
EditMode Örneği
EditMode ve GlyphButton Örneği
Linkler Çalışmıyor.
Güncellenebilir mi?
Merhaba,
Yeni kaynak kitabımızı aldıysanız, bu ve benzeri bir çok örnek uygulamaya
Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı - Örnek Uygulamalar konu başlığından ulaşabilirsiniz.
Henüz satın almadıysanız, örnek uygulamayı şu linkten indirebilirsiniz:
ListView Item Checked
(13-11-2019, Saat: 13:52)seydigozegir@gmail.com Adlı Kullanıcıdan Alıntı: [ -> ] (13-11-2019, Saat: 12:48)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba,
Yeni kaynak kitabımızı aldıysanız, bu ve benzeri bir çok örnek uygulamaya Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı - Örnek Uygulamalar konu başlığından ulaşabilirsiniz.
Henüz satın almadıysanız, örnek uygulamayı şu linkten indirebilirsiniz: ListView Item Checked
Teşekkürler. Örnek Uygulama için.
Fakat tümünü seç bu örnekte yok. Onu nasıl yapabilirim.
ListView'in seçilen item'inin altındaki button'a nasıl erişildiği ve Checked property'sinin nasıl kullanıldığı örnek içinde mevcut. Bu bilgilerin size yeterli gelmesi lazım.
(13-11-2019, Saat: 15:05)seydigozegir@gmail.com Adlı Kullanıcıdan Alıntı: [ -> ] (13-11-2019, Saat: 14:54)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: [ -> ]ListView'in seçilen item'inin altındaki button'a nasıl erişildiği ve Checked property'sinin nasıl kullanıldığı örnek içinde mevcut. Bu bilgilerin size yeterli gelmesi lazım.
Teşekkürler.
@
Tuğrul HELVACI hocama katılıyorum. Biri check ediliyorsa, tümünü check etmek çok da zor olmasa (döngü yapılarını biliyorsanız) gerek.
Örnek için çok teşekkürler,. Çok güzel detaylı bir anlatım olmuş elinize sağlık.
Delphi 7 için listview'deki checkboxların tıklanmasını nasıl engelleyebiliriz?