不知道是自己水平不夠,還是水晶報表自身的缺陷,水晶在紙張控制這塊比較弱(特別是半聯Letter),達不到客戶需求,改ActiveReport 3.0 紙張方面倒是解決了,但在行(套打)固定方面,又讓我傷腦筋,經過兩天的摸索,終於搞定:
if( rpt.PageNumber.ToString() ==((TextBox)rpt.Sections["PageHeader1"].Controls["txtField11"]).Text)
{
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrOrderTotalX1"]).Visible=true;
}
1.可控制控件是否顯示
2.變量的更改
補充:
判斷是否到了頁尾,通常是用於固定行數,最後一頁顯示彙總數據
public bool ActiveReport_FetchData(bool eof)
{
if(eof==true)
{
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrOrderTotalD1"]).Visible=true;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrOrderTotalX1"]).Visible=true;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrPayedD1"]).Visible=true;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrPayedX1"]).Visible=true;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrBalanceD1"]).Visible=true;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrBalanceX1"]).Visible=true;
}
else
{
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrOrderTotalD1"]).Visible=false;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrOrderTotalX1"]).Visible=false;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrPayedD1"]).Visible=false;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrPayedX1"]).Visible=false;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrBalanceD1"]).Visible=false;
((TextBox)rpt.Sections["PageFooter1"].Controls["txtrBalanceX1"]).Visible=false;
}
return eof;
}