dbgrid ve qreport

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

dbgrid ve qreport

Mesaj gönderen unicorn64 »

dbgrid içinden mouse la seçilen hücrenin bulunduğu satırı qreport da qlabel üzerinde gösterebilirmiyiz, nasıl yapmam gerek? mouse la yapılan seçimi algılama ve label a yazma konusunda yardım edermisiniz?
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Mesaj gönderen Biltes »

Öncelikle merhabalar;
Dostum mouse ile yapılan seçimi algılama olayı diye bir olay yok aslında olay, seçtiğin kayıt table ve datasource bağlı olan dbgird'den gerçekleştiği için sen mouse ile hangi kaydı seçersen table'da kayıt otomarik olarak oraya gider. Mouse'u sadece kaydı seçmek için kullanabilirsin.

Gelelim diğer sorduğun soruya seçilen kaydı qreport'taki label'a istediğin gibi gönderebilirsin.

Kod: Tümünü seç

  with raporfrm.QuickRep1 do
     Begin
       Qrlabel1.Caption := tabloavealanadı.AsString; 
       Qrlabel2.Caption := Query1adsoyad.AsString; //gibi örnek olarak
     End;
Göndermek istediğin alan ne ise onun tipini yazarsın... Bu şekilde istediğin gibi gönderebilrsin yada ikinci bir yol olarak QRDbText kullanarak direk formdaki tablona bağlayabilirsin. Bu da diğer bir alternatif.

Kolay gelsin... ;)
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Bildiğim kadarıyla Quick Report bileşeni bağlı DataSet i baştan sona kadar tarayıp rapor hazırlıyor. DataSet olmaksızın kullanarak da rapor hazırlamanız mümkün. Onun için OnDataNeed olay/event ına bakmanız gerekir. Yani kayıtta ayırm yapacak bir alan var ise ; o procedure deki

Kod: Tümünü seç

MoreData := Table1KayitNo.AsInteger = KayitNo;
Burada genel bir değişken olarak KayitNo yu başta tanımlayıp. DataSet in DataSource unun OnDataChange inda ataması yapılabilir.

Kod: Tümünü seç

KayitNo := Table1KayitNo.AsInteger;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

qr de boş bi sayfa açarsın bir tane qrband koyarsın. aşağı kadar uzatırsın
daha sonra ister qrlabel istersen de qrdbtext kullanırsın istediğini yaparsın.
eğer qrlabel kullanırsan Recep abinin dediği yöntemi kullanmalısın, dbtext kullanırsan direct olarak db den alır zaten ;)

Saygılar...
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Hiç uğraşmana gerek yok aslında

Mesaj gönderen sabanakman »

Aslında raporu tasarla ve bitir. O anda üstünde bulunduğun kayıt için liste alacaksan tek yapman gereken TQuickRep bileşenin dataset özelliğini boş bırakmak olacaktır. Orada sana sadece seçili olan tek kayıt için liste verecektir (Raporu görebilmek için detail bant kullanmak gerekir) . Bu arada TQRExpression nesnesini kullanarak tablo alanlarının değerlerini kullnamak istiyorsan, o tabloyu TQuickRep bilşeninin onBeforePrint olayına Sender.AllDataSets.Add(Table1); demen gerekebilir. Aksi halde TQRExpression nesnesi içinde işleme tabi tutulan bu tablonun değerleri için hata alabilirsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

yardımlarınız için hepinize teker teker teşekkür ederim.. sorunu sayenizde hallettim
Cevapla