Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
FastReport - Runtime Band Gizleme - [ÇÖZÜLDÜ]
#1
Merhabalar,

Fastreport ile fatura tasarımı yapıyorum. (Uzun bir aradan sonra.)

Fakat takıldığım bir sorun oldu. Aslında mantık bende mi hatalı yoksa raporda mı bir sıkıntı var anlamadım.
Yapmaya çalıştığım işlem Footer ve Header band'larını çalışma zamanında (rapor ekrana gelirken) belli kriterlere
göre gizlemek veya göstermek. Eğer fatura sayfası 1 den fazla ise nakli yekün yazdırmak (Değeri ile) değilse gizlemek.

 <Page#> ve <TotalPages#> deneme amaçlı ekrana yazdırdığımda sonuçlar doğru geliyor.
Sayfa : 1 toplam sayfa : 2
Sayfa : 2 toplam sayfa : 2 şeklinde.
Ama kod da algılamıyor işlemi.

Teşekkürler.

Örnek Kod;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
   toplam:=toplam+<Fatura_Alt."genel_toplam">;                                        
end;

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
   if (<Page#>=<TotalPages#>) then
  begin
       PageFooter1.Visible:=True;
       Subreport1.Visible:=True;                              
   end
   else
   begin
     PageFooter1.visible:=False;
     Subreport1.Visible:=False;          
   end;              
end;




Saygılar.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#2
(10-01-2019, Saat: 18:14)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhabalar,

Fastreport ile fatura tasarımı yapıyorum. (Uzun bir aradan sonra.)

Fakat takıldığım bir sorun oldu. Aslında mantık bende mi hatalı yoksa raporda mı bir sıkıntı var anlamadım.
Yapmaya çalıştığım işlem Footer ve Header band'larını çalışma zamanında (rapor ekrana gelirken) belli kriterlere
göre gizlemek veya göstermek. Eğer fatura sayfası 1 den fazla ise nakli yekün yazdırmak (Değeri ile) değilse gizlemek.

 <Page#> ve <TotalPages#> deneme amaçlı ekrana yazdırdığımda sonuçlar doğru geliyor.
Sayfa : 1 toplam sayfa : 2
Sayfa : 2 toplam sayfa : 2 şeklinde.
Ama kod da algılamıyor işlemi.

Teşekkürler.

Örnek Kod;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
   toplam:=toplam+<Fatura_Alt."genel_toplam">;                                        
end;

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
   if (<Page#>=<TotalPages#>) then
  begin
       PageFooter1.Visible:=True;
       Subreport1.Visible:=True;                              
   end
   else
   begin
     PageFooter1.visible:=False;
     Subreport1.Visible:=False;          
   end;              
end;




Saygılar.

TotalPages# değişkeni sadece raporun EngineOptions.DoublePass özelliği aktifse geçerlidir. Bu modda FastReport raporun üzerinden iki kez geçecektir. Peki kaçıncı kez geçtiğini nasıl anlayacağız? FinalPass boolean değişkeni de bize son geçiş olup olmadığını söyleyecektir. Kodunuzu bunlara dikkat ederek düzenlerseniz sorunu çözersiniz
WWW
Cevapla
#3
(10-01-2019, Saat: 18:39)csunguray Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(10-01-2019, Saat: 18:14)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhabalar,

Fastreport ile fatura tasarımı yapıyorum. (Uzun bir aradan sonra.)

Fakat takıldığım bir sorun oldu. Aslında mantık bende mi hatalı yoksa raporda mı bir sıkıntı var anlamadım.
Yapmaya çalıştığım işlem Footer ve Header band'larını çalışma zamanında (rapor ekrana gelirken) belli kriterlere
göre gizlemek veya göstermek. Eğer fatura sayfası 1 den fazla ise nakli yekün yazdırmak (Değeri ile) değilse gizlemek.

 <Page#> ve <TotalPages#> deneme amaçlı ekrana yazdırdığımda sonuçlar doğru geliyor.
Sayfa : 1 toplam sayfa : 2
Sayfa : 2 toplam sayfa : 2 şeklinde.
Ama kod da algılamıyor işlemi.

Teşekkürler.

Örnek Kod;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
   toplam:=toplam+<Fatura_Alt."genel_toplam">;                                        
end;

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
   if (<Page#>=<TotalPages#>) then
  begin
       PageFooter1.Visible:=True;
       Subreport1.Visible:=True;                              
   end
   else
   begin
     PageFooter1.visible:=False;
     Subreport1.Visible:=False;          
   end;              
end;




Saygılar.

TotalPages# değişkeni sadece raporun EngineOptions.DoublePass özelliği aktifse geçerlidir. Bu modda FastReport raporun üzerinden iki kez geçecektir. Peki kaçıncı kez geçtiğini nasıl anlayacağız? FinalPass boolean değişkeni de bize son geçiş olup olmadığını söyleyecektir. Kodunuzu bunlara dikkat ederek düzenlerseniz sorunu çözersiniz

Cevabınız için teşekkür ederim.
Report.EngineOptions.DoublePass = True olarak güncelledim.

Fakat FinalPass için biraz araştırma yapacağım. Yardım bilgilerini incelemem gerekli. Hatırlayamadığım için.
İşlem neticesini tekrar paylaşacağım.

Saygılar.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#4
(10-01-2019, Saat: 19:01)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(10-01-2019, Saat: 18:39)csunguray Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.TotalPages# değişkeni sadece raporun EngineOptions.DoublePass özelliği aktifse geçerlidir. Bu modda FastReport raporun üzerinden iki kez geçecektir. Peki kaçıncı kez geçtiğini nasıl anlayacağız? FinalPass boolean değişkeni de bize son geçiş olup olmadığını söyleyecektir. Kodunuzu bunlara dikkat ederek düzenlerseniz sorunu çözersiniz

Cevabınız için teşekkür ederim.
Report.EngineOptions.DoublePass = True olarak güncelledim.

Fakat FinalPass için biraz araştırma yapacağım. Yardım bilgilerini incelemem gerekli. Hatırlayamadım için.
İşlem neticesini tekrar paylaşacağım.

Saygılar.

Birincisi eğer toplamlarınız 2 kat çıkmışsa kodnuzu şu şekilde güncellemeniz gerekir.

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  if FinalPass then Toplam := Toplam + <Fatura_Alt."genel_toplam">;
end;

İkincisi sanırım kodunuzu aşağıdaki şekilde yazmanız gerekir:

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
  if FinalPass then
    if (<Page#>=<TotalPages#>) then
     begin
        PageFooter1.Visible:=True;
        Subreport1.Visible:=True;                              
    end else
    begin
      PageFooter1.visible:=False;
      Subreport1.Visible:=False;          
    end;              
  end;
end;
WWW
Cevapla
#5
(10-01-2019, Saat: 19:09)csunguray Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(10-01-2019, Saat: 19:01)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Cevabınız için teşekkür ederim.
Report.EngineOptions.DoublePass = True olarak güncelledim.

Fakat FinalPass için biraz araştırma yapacağım. Yardım bilgilerini incelemem gerekli. Hatırlayamadım için.
İşlem neticesini tekrar paylaşacağım.

Saygılar.

Birincisi eğer toplamlarınız 2 kat çıkmışsa kodnuzu şu şekilde güncellemeniz gerekir.

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  if FinalPass then Toplam := Toplam + <Fatura_Alt."genel_toplam">;
end;

İkincisi sanırım kodunuzu aşağıdaki şekilde yazmanız gerekir:

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
  if FinalPass then
    if (<Page#>=<TotalPages#>) then
     begin
        PageFooter1.Visible:=True;
        Subreport1.Visible:=True;                              
    end else
    begin
      PageFooter1.visible:=False;
      Subreport1.Visible:=False;          
    end;              
  end;
end;

Bilgilendirme için çok teşekkür ederim.
Deneyerek en kısa sürede bilgi vereceğim.
Teşekkürler 

Saygılar
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#6
(10-01-2019, Saat: 19:09)csunguray Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(10-01-2019, Saat: 19:01)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Cevabınız için teşekkür ederim.
Report.EngineOptions.DoublePass = True olarak güncelledim.

Fakat FinalPass için biraz araştırma yapacağım. Yardım bilgilerini incelemem gerekli. Hatırlayamadım için.
İşlem neticesini tekrar paylaşacağım.

Saygılar.

Birincisi eğer toplamlarınız 2 kat çıkmışsa kodnuzu şu şekilde güncellemeniz gerekir.

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  if FinalPass then Toplam := Toplam + <Fatura_Alt."genel_toplam">;
end;

İkincisi sanırım kodunuzu aşağıdaki şekilde yazmanız gerekir:

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
  if FinalPass then
    if (<Page#>=<TotalPages#>) then
     begin
        PageFooter1.Visible:=True;
        Subreport1.Visible:=True;                              
    end else
    begin
      PageFooter1.visible:=False;
      Subreport1.Visible:=False;          
    end;              
  end;
end;

İlginiz için teşekkür ederin.

İşlemi bu şekilde tamamladım. Elinize sağlık.

alX3Bg.png


Saygılar.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Çözüldü. Fastreport ta çalışma anında dataset atama cinarbil 2 89 11-07-2019, Saat: 17:55
Son Yorum: cinarbil
  Çözüldü-sql kodu dengesiz çalışıyor sadikacar60 4 223 11-07-2019, Saat: 14:28
Son Yorum: mcuyan
  Fastreport barcod yazdirma sorunu TheEAK 2 175 10-07-2019, Saat: 11:10
Son Yorum: TheEAK
  [ÇÖZÜLDÜ] WebDav ile Bulut Sunucuya Dosya Yükleme theSinan 4 314 08-07-2019, Saat: 15:42
Son Yorum: r3n4m3
  Çözüldü - FastReport Pivot ve Group birlikte kullanılabilirmi ? adelphiforumz 5 258 05-07-2019, Saat: 14:20
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi