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

Konuyu Paylaş : facebook gplus twitter



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



Konuyu Okuyanlar: 1 Ziyaretçi