Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ListView selected
#1
Merhaba,

Listviewde 500 ile 1500 arası kayıt var, listviewde seçili olan satırın bilgilerini editlere geliyor, fakat Mouse tekerleği ile kaydırarak listview'e yukarı veya aşağıya gitmek istediğimde listview tepkiyi yaklaşık 7 saniye sonra veriyor. Aşağıdaki kodları kaldırdığımda sorun yok bu sorunu nasıl çözerim?

procedure TForm1.ListView1Click(Sender: TObject);
begin
    RowNo.Text := ListView1.Selected.Caption;
    Edit1t.Text := ListView1.Selected.SubItems[0];
    Edit12.Text := ListView1.Selected.SubItems[1];
end;
Hayat bazen güzel olabiliyor.
Cevapla
#2
(03-03-2017, Saat: 11:27)Dostk Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,

Listviewde 500 ile 1500 arası kayıt var, listviewde seçili olan satırın bilgilerini editlere geliyor, fakat Mouse tekerleği ile kaydırarak listview'e yukarı veya aşağıya gitmek istediğimde listview tepkiyi yaklaşık 7 saniye sonra veriyor. Aşağıdaki kodları kaldırdığımda sorun yok bu sorunu nasıl çözerim?

procedure TForm1.ListView1Click(Sender: TObject);
begin
    RowNo.Text := ListView1.Selected.Caption;
    Edit1t.Text := ListView1.Selected.SubItems[0];
    Edit12.Text := ListView1.Selected.SubItems[1];
end;

Merhaba,
Benzer yöntem (dinamik nesne bağlantıları), Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ile de yapılabilmektedir. 
Test etme imkanınz varsa, deneyip sonuç bildirebilir misiniz?
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
#3
Denemedim ama for döngüsü ile çözebilirsiniz sanırım...
Cevapla
#4
Merhaba,

Listview onClick olayına değilde onSelectItem olayına kodlarınızı yazmanız daha yerinde olur.. 
Listview görünümünü Report olarak ayarladım ve içine 1500 satır bilgi ekledikten sonra hiç bir kasma olmadan aşağı ve yukarı kaydırma işlemini gerçekleştirdim.
Sizin uygulamanızda başka bir yer de bir problem lisview nesnesini tetikliyor olabilir.

Örnek projeyi Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol indirebilirsiniz.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#5
Selam;

verilen örmek üzerinden gidince sorun yok, fakat databaseden verileri aşağıdaki koklarımla listview çekmek istediğimde, 850 adet yaklaşık kayıt var bu kayıtların çekilmesi ve listviewe tıkladığımda tıklanan satırın bilgileri edite 13 saniye gibi çooooook uzun zamanda gelmesi sıkıntı yaratıyor. bu sorun neden kaynaklı olabilir ki. kodlamada da hata yok.


 

begin
  With FDQuery, ListView do
  begin
    Connection := Connection;
    Close;
    SQL.Clear;
    SQL.Add('Select * From URUNLER');
    SQL.Add('Where TARIH=:TR Order By SIRANO ASC Limit 0,1500');
    Prepared := True;
    Open;
    Items.Clear;
    while Not EOF do
    begin
      Application.ProcessMessages;
      PList := Items.Add;
      PList.Caption := IntToStr(FieldByName('SIRANO').AsInteger);
      PList.SubItems.Add(FieldByName('URUNADI').AsString);
      PList.SubItems.Add(IntToStr(FieldByName('ID').AsInteger));
      Next;
    end;
  end;
  FDQuery.Close;
end;
Hayat bazen güzel olabiliyor.
Cevapla
#6
Aşağıda ki şekilde düzenleme yaparsan listview a yükleme daha hızlı olacaktır.. BeginUpdate ve EndUpdate yeniden çizmeyi kapatıp açtığı için performans da inanılmaz bir etkisi var..


Items.BeginUpdate;
Items.Clear;

ve

FDQuery.Close;
ListView.Items.EndUpdate;

ListView dolduktan sonra tıklamalar da herhangi bir kasma olmaması gerekiyor..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Listview içinde arada dilo 4 121 06-12-2017, Saat: 09:09
Son Yorum: Fesih ARSLAN
  Listview item ekleme problemi boş olarak görünüyor Delphiseven 2 210 12-07-2017, Saat: 18:32
Son Yorum: esistem
  Listview den edite sürükle bırak dilo 2 299 17-06-2017, Saat: 00:10
Son Yorum: dilo
  Selected Dostk 0 244 06-02-2017, Saat: 02:26
Son Yorum: Dostk
  Classım ile birlikte Listview Elemanlarımın yok olması yhackup 8 2.691 20-09-2016, Saat: 10:10
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi