Fastreport ta bazı alanları gizleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Fastreport ta bazı alanları gizleme
selamın aleyküm
arkadaşlar merhaba, Fastreportla bir fatura dökümü yapıyorum çoğu şeyi hallettim . Sorunum şu fatura toplamı yazdırdığım PageFoter alanında
bazı alanları şartlara göre yazdırmak istiyorum.
Bunu PageFoter un OnBeforePrint olayında yapmaya çalışıyorum. Mesela Faturada Tevkifat varsa buna göre bazı alanları yazdırcam.
şu şekilde denedim ancak hata veriyor. Yardımlarınız için şimdiden teşekkür ederim.
<frxDBDataset1."ch_vergi">.value > 0 then
<frxDBDataset1."ch_tkdv">.visible:=false;
arkadaşlar merhaba, Fastreportla bir fatura dökümü yapıyorum çoğu şeyi hallettim . Sorunum şu fatura toplamı yazdırdığım PageFoter alanında
bazı alanları şartlara göre yazdırmak istiyorum.
Bunu PageFoter un OnBeforePrint olayında yapmaya çalışıyorum. Mesela Faturada Tevkifat varsa buna göre bazı alanları yazdırcam.
şu şekilde denedim ancak hata veriyor. Yardımlarınız için şimdiden teşekkür ederim.
<frxDBDataset1."ch_vergi">.value > 0 then
<frxDBDataset1."ch_tkdv">.visible:=false;
Bilgi Paylaştıkça Çoğalır
Re: Fastreport ta bazı alanları gizleme
Bunu PageFooter da yapmanız zor. Çünkü PageFooter ın yüksekliği sabit olmalıdır. O yüzden Child özelliği yoktur. Bunu eğer Summary de yapmak isteseydik...
ReportSummary1 bandını sağ tıklayıp Çocuk band ekle seçilir. ReportSummary1'in Child bandı olarak Child1 çocuk bandı oluşacaktır. Sonra Child1'i sağ tıklayıp aynısını yapın. Child2 oluşacaktır. Bu şekilde zincirleme olarak Toplam, İndirim, Kdv, Tevkifat, Genel Toplam ın her biri için bir çocuk band oluşturun ve bu değerleri bu bantlara yerleştirin. ReportSummary1 dahil tüm bandların PrintChildIfInvisible özelliğini True yapın. ReportSummary1'in OnBeforePrint olayına aşağıdaki benzeri bir kod yazın.
Bu kadar....
Eğer "ben illa PageFooter da yapacağım, her görünmeyen satır için sayfanın en altında o satır yüksekliği kadar boşluk kalmasına razıyım" derseniz onu da nasıl yapacağınızı anlatabilirim.
ReportSummary1 bandını sağ tıklayıp Çocuk band ekle seçilir. ReportSummary1'in Child bandı olarak Child1 çocuk bandı oluşacaktır. Sonra Child1'i sağ tıklayıp aynısını yapın. Child2 oluşacaktır. Bu şekilde zincirleme olarak Toplam, İndirim, Kdv, Tevkifat, Genel Toplam ın her biri için bir çocuk band oluşturun ve bu değerleri bu bantlara yerleştirin. ReportSummary1 dahil tüm bandların PrintChildIfInvisible özelliğini True yapın. ReportSummary1'in OnBeforePrint olayına aşağıdaki benzeri bir kod yazın.
Kod: Tümünü seç
procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
if <frxDBDataset1."ch_vergi"> > 0
then Child2.Visible := True
else Child2.Visible := False;
if <frxDBDataset1."ch_tkdv"> > 0
then Child3.Visible := True
else Child3.Visible := False;
end;
Eğer "ben illa PageFooter da yapacağım, her görünmeyen satır için sayfanın en altında o satır yüksekliği kadar boşluk kalmasına razıyım" derseniz onu da nasıl yapacağınızı anlatabilirim.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Re: Fastreport ta bazı alanları gizleme
merhaba yardımınız için teşekkür ederim. Pagefoter boyutu sabit verdiğiniz örnekteki gibi yapmaya çalıştım ancak şöyle bir hata veriyor
The following have occured Script Error at 7:13:';' expected
procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
if <frxDBDataset1."ch_tkdv"> = 0
then <frxDBDataset1."ch_tkdv">.visible :=false
else <frxDBDataset1."ch_tkdv">.visible :=true;
end;
begin
end.
The following have occured Script Error at 7:13:';' expected
procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
if <frxDBDataset1."ch_tkdv"> = 0
then <frxDBDataset1."ch_tkdv">.visible :=false
else <frxDBDataset1."ch_tkdv">.visible :=true;
end;
begin
end.
Bilgi Paylaştıkça Çoğalır
Re: Fastreport ta bazı alanları gizleme
Bunlar nedir?
Bir veri sahasını görünür/görünmez yapamazsınız. Benim verdiğim örnekte band lar görünür/görünmez yapılmaktadır.ertemsoft yazdı:then <frxDBDataset1."ch_tkdv">.visible :=false
else <frxDBDataset1."ch_tkdv">.visible :=true;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Re: Fastreport ta bazı alanları gizleme
Şu şekilde çözdüm .başka bir çözüm yolu varmı bilmiyorum ama işimi gördü yardımlarınız için teşekkür ederim.
if baslikqch_tkdv.AsFloat=0 then
begin
TitleEntry := frxReport1.FindObject('frxDBDataset1ch_tkdv') as TfrxMemoView;
TitleEntry.Visible:=false;
end;
if baslikqch_tkdv.AsFloat=0 then
begin
TitleEntry := frxReport1.FindObject('frxDBDataset1ch_tkdv') as TfrxMemoView;
TitleEntry.Visible:=false;
end;
Bilgi Paylaştıkça Çoğalır
-
- Üye
- Mesajlar: 1
- Kayıt: 25 May 2017 10:55
Re: Fastreport ta bazı alanları gizleme
csunguray yazdı:Bunu PageFooter da yapmanız zor. Çünkü PageFooter ın yüksekliği sabit olmalıdır. O yüzden Child özelliği yoktur. Bunu eğer Summary de yapmak isteseydik...
ReportSummary1 bandını sağ tıklayıp Çocuk band ekle seçilir. ReportSummary1'in Child bandı olarak Child1 çocuk bandı oluşacaktır. Sonra Child1'i sağ tıklayıp aynısını yapın. Child2 oluşacaktır. Bu şekilde zincirleme olarak Toplam, İndirim, Kdv, Tevkifat, Genel Toplam ın her biri için bir çocuk band oluşturun ve bu değerleri bu bantlara yerleştirin. ReportSummary1 dahil tüm bandların PrintChildIfInvisible özelliğini True yapın. ReportSummary1'in OnBeforePrint olayına aşağıdaki benzeri bir kod yazın.
Bu kadar....Kod: Tümünü seç
procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent); begin if <frxDBDataset1."ch_vergi"> > 0 then Child2.Visible := True else Child2.Visible := False; if <frxDBDataset1."ch_tkdv"> > 0 then Child3.Visible := True else Child3.Visible := False; end;
Eğer "ben illa PageFooter da yapacağım, her görünmeyen satır için sayfanın en altında o satır yüksekliği kadar boşluk kalmasına razıyım" derseniz onu da nasıl yapacağınızı anlatabilirim.
Merhaba üstadlar.Dediğiniz şekilleri denedim ama bi sonuç alamadım.Size kendi yapmak istediğimi şöyle anlatayım.
<Qry_Kalem> adında fastreport'un içinde oluşturduğum bir query'im var.Bu query alanı olan <Qry_Kalem."Vendor"> = '37493' ise Qry_KalemSerial_No adlı memo alanının görünmemesini istiyorum.HightLight kısmında buna benzer işlemler yaptırıyor ama onunlada istediğim şeyi yapamadım.Yardımlarınız için şimdiden teşekkür ediyorum.
Re: Fastreport ta bazı alanları gizleme
Sonuç alamadım derken bir hata mesajı mı alıyorsunuz? Yukarıdaki yöntem benim sıklıkla kullandığım bir yöntemdir ve çalışmaması için bir neden yoktur. Zahmet edip bir sürü açıklama yazdım ve tecrübelerimi sizinle paylaştım. Ama bunun sonucunda "Olmuyor, boşverelim, başka bir şeye geçelim" yaklaşımı çok saygısızca.ertemsoft yazdı:Merhaba üstadlar.Dediğiniz şekilleri denedim ama bi sonuç alamadım.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Re: Fastreport ta bazı alanları gizleme
merhaba,
@csunguray benzer işlemleri ben yazdırma buton tuşlama işleminde kullanıyorum. basitçe if şöyleyse fastrepor içindeki memo alana ulaşıp visible si ile oynuyorum. şart uyuyorsa gösteriyor uymuyorsa göstermiyor.
ama yukarıda belirtildiği üzere aradaki boşluklar kalabilir ve sayfada istenmeyen uzamalar oluşabilir.
kolay gelsin
@csunguray benzer işlemleri ben yazdırma buton tuşlama işleminde kullanıyorum. basitçe if şöyleyse fastrepor içindeki memo alana ulaşıp visible si ile oynuyorum. şart uyuyorsa gösteriyor uymuyorsa göstermiyor.
ama yukarıda belirtildiği üzere aradaki boşluklar kalabilir ve sayfada istenmeyen uzamalar oluşabilir.
kolay gelsin