DbGrid İçeriğini Qreportta Göstermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen manaz »

Selamün Aleyküm Arkadaşlar.
DBGride checkboxlar aracılığı ile sütunları ekleyip kaldırabiliyorum.
Adı Soyadı Cep Tel sütunlarını qreporta tanımladım, onları orda görebiliyorum.
Mesela Progamı çalıştırdım, DBGride Checkboxlar ile Ev telefonu ve adresinide ekledim .
Sonra rapor aldığımda onları Qreportta görmek istiyorum.
Yani DBGridde hangi sütunlar varsa onları Qreportta görmek istiyorum.
-------
Birde Qreporttaki label'a
İşten çıkanlar listelendiğinde işten çıkanlar yazsın.
İşe devam edenlerde ise personel listesi yazsın.
Bunları Gridde Çıkış tarihi boş ise çalışanları listeletiyorum.
Çıkış tarihi dolu ise ayrılanları listeletiyorum.
DBGrid
Access Veri Tabanı
Adoquery
Qreport Kullanıyorum.

Yardımlarınız için Şimdiden Teşekkür Ederim.
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen manaz »

Arkadaşlar bilen varsa yardımcı olsa yol gösterse çok memnun olacağım. Saygılar...
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen manaz »

Sayın Hocalarım Bilgisi olan paylaşabilir mi lütfen. İllede benim dediğim gibi olmayabilir. Önerisi olan sunsun lütfen. Bunu yapmam lazım. Araştırıyorum kaç gündür sonuca ulaşamadım. Desteklerinizi Bekliyorum. Saygılar.
static_reactor
Üye
Mesajlar: 16
Kayıt: 08 Oca 2009 12:53

Re: DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen static_reactor »

hangi checkboxlar checked olmuşsa sende raporda
QuickRep1BeforePrint ine yaz işte checked olan alanları visible yada enable yap kafana göre ;)
yada önemli olan 1-2 alan hariç hepsini checked := false getirirsin ekrana sonra kullanıcı hangisininkini true yaparsa
raporda sende onları true yaparsın

bu ilk soruna cevabı olabilir belki..
static_reactor
Üye
Mesajlar: 16
Kayıt: 08 Oca 2009 12:53

Re: DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen static_reactor »

ikinci sorunda tablodan werilerini orderlayıp çekersin ve hangi alanda ayrılanlar yada çalışanlar yazıyorsa QRGroup un expression una o alanın adını yaz (çalışıyor / ayrıldı bilgilerini tutan field adı) sonra o QRGroup in üstüne label at ve o QRGroup un BeforePrint ine label e bilgiyi ata ;)
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen manaz »

Güzel söylemişsin ustam da ben anlamadım. Karışık geldi bana. Detaylı anlatsan örnek versen daha iyi gelecek bana.
tugsat
Üye
Mesajlar: 132
Kayıt: 04 May 2009 09:30

Re: DbGrid İçeriğini Qreportta Göstermek

Mesaj gönderen tugsat »

Kod: Tümünü seç

uses
  Printers;

procedure PrintGrid(sGrid: TStringGrid; sTitle: string);
var
  X1, X2: Integer;
  Y1, Y2: Integer;
  TmpI: Integer;
  F: Integer;
  TR: TRect;
begin
  Printer.Title := sTitle;
  Printer.BeginDoc;
  Printer.Canvas.Pen.Color  := 0;
  Printer.Canvas.Font.Name  := 'Times New Roman';
  Printer.Canvas.Font.Size  := 12;
  Printer.Canvas.Font.Style := [fsBold, fsUnderline];
  Printer.Canvas.TextOut(0, 100, Printer.Title);
  for F := 1 to sGrid.ColCount - 1 do 
  begin
    X1 := 0;
    for TmpI := 1 to (F - 1) do
      X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);
    Y1 := 300;
    X2 := 0;
    for TmpI := 1 to F do
      X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);
    Y2 := 450;
    TR := Rect(X1, Y1, X2 - 30, Y2);
    Printer.Canvas.Font.Style := [fsBold];
    Printer.Canvas.Font.Size := 7;
    Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);
    Printer.Canvas.Font.Style := [];
    for TmpI := 1 to sGrid.RowCount - 1 do 
    begin
      Y1 := 150 * TmpI + 300;
      Y2 := 150 * (TmpI + 1) + 300;
      TR := Rect(X1, Y1, X2 - 30, Y2);
      Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);
    end;
  end;
  Printer.EndDoc;
end;


//Examplem, Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
  PrintGrid(StringGrid1, 'Print Stringgrid');
end;
Bunu bi dene istersen..Yolladığm stringgridde sen dbgride göre ayarla.
Cevapla