Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ListView - CheckBox Kullanmak
#11
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.
Cevapla
#12
(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;

LvCh1.png

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;

LvCh2.png

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ü:

LvCh3.gif

Ö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?
Cevapla
#13
(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;

LvCh1.png

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;

LvCh2.png

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ü:

LvCh3.gif

Ö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
Cevapla
#14
(13-11-2019, Saat: 12:48)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:
(13-11-2019, Saat: 12:04)seydigozegir@gmail.com Adlı Kullanıcıdan Alıntı: Ö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

Teşekkürler. Örnek Uygulama için. 
Fakat tümünü seç bu örnekte yok. Onu nasıl yapabilirim.
Cevapla
#15
(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.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#16
(13-11-2019, Saat: 14:54)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı:
(13-11-2019, Saat: 13:52)seydigozegir@gmail.com Adlı Kullanıcıdan Alıntı: 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.

Teşekkürler.
Cevapla
#17
(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.
Cevapla
#18
Örnek için çok teşekkürler,. Çok güzel detaylı bir anlatım olmuş elinize sağlık.
Cevapla
#19
Delphi 7 için listview'deki checkboxların tıklanmasını nasıl engelleyebiliriz?
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  FMX Mimarisinde Harici Yazı FONT'u Kullanmak RAD Coder 1 351 27-10-2023, Saat: 18:01
Son Yorum: frmman
  FMX Mimarisinde - TFrame Kullanmak TescilsizUzman 12 10.373 17-01-2022, Saat: 20:29
Son Yorum: Jakarta2
  AnonymousThread ile ListView'e Veri Yükleme witalihakko 5 5.974 17-11-2019, Saat: 09:21
Son Yorum: delphi-x
  ListView - DynamicAppearance TescilsizUzman 9 9.944 21-10-2018, Saat: 16:20
Son Yorum: klavye
  Class Helper ile Listview Loop witalihakko 2 3.412 20-03-2017, Saat: 00:42
Son Yorum: witalihakko



Konuyu Okuyanlar: 1 Ziyaretçi