DBGrid kadar hızlı stringgrid yapılabilirmi
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
DBGrid kadar hızlı stringgrid yapılabilirmi
Arkadaşlar while döngüsü kullanarak verileri stringgride atıyorum.Fakat çok kayıt olduğunda bu işlem çok zaman alıyor.oysa dbgrid için kayıt sayısı çokta fark etmiyor.Ne yapılabilir.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
DBGrid ile StringGrid kökeninde TCustomGrid olan sınıftan türeyen tamamen benzeşen nesnelerdir. Buradaki hız farkı sadece kullanılan tekniklerden kaynaklanmaktadır. Mesela sen tüm kayıtları olduğu gibi gride yüklerken VCL sadece ekranda görünmesi gereken satır kadar yükleme yapmaktadır. Kısacası sana ait gridin ColCount özelliği kayıt sayısı kadar olurken DBGrid de bu ekranda görünen satır sayısı kadardır. Eğer bu yönde bir çalışma yaparsan belki bu sorunu aşarsın. Bu işi organize etmek çok kolay değildir, iyi kodlama ve kontrol gerektirmektedir. İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Elinde TDBGrid gibi bir bileşenin kodları var. Eğer zor gelmezse oralara göz atabilirsin. Kodlara göz atabilmek için Ctrl tuşuna basılı tutarken TDBGrid yazısına tıklarsan direk TDBGrid sınıfının kodlarının bulunduğu bölüme geçersin. Sana kolay gelsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
yok zaten 2 gündür inceliyorum pek bişey anladığım söylenemez.
Ama çözümü buldum
. Ahanda kod:
dbgridden daha hızı çalışıyor ve stringgrid in esnekliği kulanabiliyorsunuz.Biraz deniycem bunu eğer düzgün çalışırsa projelerimde kullanıcam.Herkese kolay gelsin.

Ama çözümü buldum

Kod: Tümünü seç
procedure TStdForm.Grid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (acol>0) and (arow>0) then
if grid1.Cells[acol,arow]='' then
begin
dataset1.First;
dataset1.MoveBy(arow-1);
if dataset1.Fields[acol+1].AsString<>'' then
grid1.Cells[acol,arow]:=dataset1.Fields[acol+1].AsString;
end;
end;
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
kafama takıldı. vt diye bir bir kayıt uzmanı varken neden stringride takıldınız. kayıtları çekme, sıralama, filtreleme, rapor oluşturma, toplam alma gibi bir çok yapıyı destekleyen sistem dururken stringgrid le çalışmak biraz kasar gibime geliyor.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
Veritabanı ile dbgrid veya stringrid ne alakası var çözemedim.Bu yüzden vt nedir diye sordum.Başka bişey kastediyorsunuz zanettim. ms sql veya firebird gibi veri tabanı motorolarının işi içinde veriyi tutmak ve istediklerimizi filtreleyip bize göstermek değil mi?(veya herneyse). Yoksa delphi kısmında sen istersen verileri editlerin veya dbgrid veya stringgird te göster bunu zaten vt yapamaz. Ben hala başka birşey kastedtiğinizi düşünüyorum.Zaten vt ye sorgu gönderip istediğim verileri çekiyorum. Bunda sorun yok ama asıl sorun dbgrid in stringgrid kadar kullanışlı olmaması. Mesela istediğiniz rengi fontları falan ayarlamanız zor ve kullanışsız.Ayrıca dbgrid i flat yapamıyoruz. Ayrıca dbgrid bu projede hakketen işimi görmüyor.Mesela her tıklamada kayıta konumlanıyor.Oysa bana çift tıklamada o kayda konumlanması gerekiyor vs vs vs gibi sebeplerden stringrid kullandım.Şuan sorunsuz çalışıyor. biraz zor oldu ama değdi. 

Çünkü veri tabanı bağlantılı kullanmak için yapılmamış. O yüzden DBGrid ile de kıyaslamak uygun değilcomfort yazdı:... ama asıl sorun dbgrid in stringgrid kadar kullanışlı olmaması. ...

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
ilerde vaktim olursa bende stringgridi dbgrid gibi kullanmayı düşünüyorum,daha doğrusu düşünüyordum memory table olayını keşfettikten sonra buna lüzum kalmadı neyse..beni bu yola iten ise dbgrid gibi db bileşenleri kullanıldığında tablonun sürekli açık kalması web programlama gibi tabloyu açıp gerekli bilgileri ekrana getirip sonra tabloyu kapatmak daha mantıklı ama daha zahmetli bir iş...