发现的问题
如下图,多出个Main Report,看上去很碍眼,得想办法除掉.但在CrystalReportViewer的控件中,没有对应的属性可以直接隐藏.
Google一番,发现MSDN论论上也有人问此问题.
解决方法
增加如下代码:
private void Form1_Load(object sender, EventArgs e)
{
HideTabs(this.crystalReportViewer1);
}
public void HideTabs(CrystalReportViewer viewer)
{
foreach (Control control in viewer.Controls)
{
if (control is PageView)
{
TabControl tab = (TabControl)((PageView)control).Controls[0];
tab.ItemSize = new Size(0, 1);
tab.SizeMode = TabSizeMode.Fixed;
tab.Appearance = TabAppearance.Buttons;
}
}
}
再跑报表,MainReport消失了!
进一步完善
其实,我们可以继承一个CrystalReportViewr,然后自定义一些功能(如增加一个导出PDF的按钮)或重写它的功能(如隐藏MainReport).留给大家自己动手试吧.