Tüm Platformlar için Hızlı Uygulama Geliştirme Kitap Yayın Süreci
Kitap gözden geçirilmek üzere BTG (Bilgi ve Teknoloji Grubu) 'na gönderildi. 05.10.2018-14:10
BTG (Bilgi ve Teknoloji Grubu) tarafından iki sayfalık bir reklam tasarımı bekleniyor. 08.10.2018 - 15:30
Kitap basım talebi değerlendirilmek üzere matbaaya bildirildi. Matbaadan basım süreci hakkında bilgi bekleniyor. 15.10.2018 - 15:34
Kitap 1.000 adet basım talebi ile matbaaya gönderildi. 16.10.2018 - 16:50

Konuyu Paylaş : facebook gplus twitter

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

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#2
şarta bağlı renklendirme yapabilirmiyiz,imagelistten resim nasıl ekleriz
Cevapla
#3
(17-10-2016, Saat: 15:15)hassur Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olşarta bağlı renklendirme yapabilirmiyiz,imagelistten resim nasıl ekleriz

Merhaba,
ListView Item'larını oluşturduğunuz method içerisine bir koşul ekleyerek yapabilirsiniz. Renklendirme işlemi için Item'ın TextColor özelliğini set etmeniz yeterli olacaktır.

Yukarıdaki örnekten yola çıkacak olursak; Item ekleme anında bu durum kontrol edilmelidir.
Örneğin;
    
if i = 3 then
  ListView1.Items[i-1].Objects.TextObject.TextColor := TAlphaColors.Red;
 
yada 
    
if LItem.Text='3. Kayıt' then
  ListView1.Items[i-1].Objects.TextObject.TextColor := TAlphaColors.Red;
 

Metod içerisinde;

procedure TForm2.SpeedButton1Click(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.Text := I.ToString() + '. Kayıt';
   if i = 3 then
     ListView1.Items[i-1].Objects.TextObject.TextColor := TAlphaColors.Red;
 end;
 ListView1.EndUpdate;
 ListView1.EditMode := True;
end;

LvCh4.png

(17-10-2016, Saat: 15:15)hassur Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olşarta bağlı renklendirme yapabilirmiyiz,imagelistten resim nasıl ekleriz

Merhaba,
ImageList kullanımı ile ilgili örnek bir makale;  Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#4
image.png
Edit Mode aktif edince tasarım şekil değiştiriyor. Tasarımda da, çalışma esnasında da aynı.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#5
(12-05-2018, Saat: 13:03)engerex Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olimage.png
Edit Mode aktif edince tasarım şekil değiştiriyor. Tasarımda da, çalışma esnasında da aynı.

Merhaba,
ListView bileşeni yalnızca bir listenin gösterimi için kullanılacaksa (DynamicAppearance görüntüleme tipinde) Toggle DesignMode özelliği ile tasarımı yapılır. ListView'in Edit özelliği kullanıldığında da Toggle EditMode ile bir düzenleme tasarımı yapılmalıdır.
Aksi duruma varsayılan bir tasarım sunmaktadır.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
Teşekkürler.
Cevapla
#7
(12-05-2018, Saat: 13:55)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(12-05-2018, Saat: 13:03)engerex Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olimage.png
Edit Mode aktif edince tasarım şekil değiştiriyor. Tasarımda da, çalışma esnasında da aynı.

Merhaba,
ListView bileşeni yalnızca bir listenin gösterimi için kullanılacaksa (DynamicAppearance görüntüleme tipinde) Toggle DesignMode özelliği ile tasarımı yapılır. ListView'in Edit özelliği kullanıldığında da Toggle EditMode ile bir düzenleme tasarımı yapılmalıdır.
Aksi duruma varsayılan bir tasarım sunmaktadır.

Merhaba,
İşin Toggle EditMode kısmında kalmıştım. Çünkü tasarımsal sorun vardı. EditMode aldığımda tasarım kısmı tepkisiz kalıyordu. Herhangi bir nesne ekleyemiyordum. Yada eklemişsem boyutlarıyla ve konumlarıyla oynayamıyordum.Görsel olarak hiç bir değişiklik olmuyordu. Bende işe yaramadığını düşünüyor ve sorunu başka yerlerde arıyordum. Farkettim ki görsel bir değişiklik yaptığımda kod ekranına geçip tekrar tasarım ekranına döndüğümde yaptığım görsel değişiklik uygulanmış. Görsel bir değişikli yapıyoyorum, kod ekranına girip dizayna dönüyorum ve uygulanmış Smile Bir değer girmek yada fare ile boyutları değiştirmek bir işe yaramıyordu.
Sizin konuyla ilgili örneğinizi incelediğimde bunu farkettim. Çünkü sizin projede bu sorunla karşılaşmadım.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#8
(17-10-2016, Saat: 14:48)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba; 
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:

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Merhaba;
Listviewde satırı tıklayınca checkbox true veya false oluyor. Sadece checkboxsı tıklayınca true veya false olmasını nasıl sağlarım?
Cevapla
#9
(07-09-2018, Saat: 09:14)ahmetb Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(17-10-2016, Saat: 14:48)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba; 
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:

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Merhaba;
Listviewde satırı tıklayınca checkbox true veya false oluyor. Sadece checkboxsı tıklayınca true veya false olmasını nasıl sağlarım?

Merhaba,
Yeni kaynak kitapta tam da bu konu ile ilgili anlaşılır bir örnek var. Fakat sizi kitap almaya da zorlayamam. Smile
ListView üzerinde birLinkleri Görebilmeniz İçin Giriş yap veya Üye Ol oluşturmayı ve ListView üzerindeki bir bileşene Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol DelphiCan'dan da öğrenebilirsiniz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#10
@Fesih ARSLAN teşekkür ederim.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ListView - DynamicAppearance Fesih ARSLAN 6 2.109 09-03-2018, Saat: 10:30
Son Yorum: Bay_Y
  FMX Mimarisinde - TFrame Kullanmak Fesih ARSLAN 4 635 15-02-2018, Saat: 19:02
Son Yorum: Bay_Y
  Class Helper ile Listview Loop witalihakko 2 818 20-03-2017, Saat: 00:42
Son Yorum: witalihakko
  AnonymousThread ile ListView'e Veri Yükleme witalihakko 3 959 15-03-2017, Saat: 11:54
Son Yorum: Tuğrul HELVACI
  ListView - ImageList Icon Almak Fesih ARSLAN 3 1.983 18-10-2016, Saat: 09:35
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi