我有 Visual Studio 2010 企业版。
这是我的代码,它适用于所有其他事情,但它不会在运行时改变边距。即使 , 等的值objRpt.PrintOptions.PageMargins.leftMargin
发生rightmargin
变化,它也不会反映在输出中,也不会反映CrystalReportViewer
在Hardcopy
输出中。
这是代码:
CrystalReport1 objRpt;
objRpt = new CrystalReport1();
adepter.Fill(Ds, "Customer");
objRpt.SetDataSource(Ds);
MessageBox.Show("Left margin:"+objRpt.PrintOptions.PageMargins.leftMargin.ToString()); //Here it shows 1440
objRpt.PrintOptions.PrinterName = "HP LaserJet 1020";
PageMargins margins = objRpt.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
objRpt.PrintOptions.ApplyPageMargins(margins);
MessageBox.Show("Left margin:"+objRpt.PrintOptions.PageMargins.leftMargin.ToString());
//Here it shows 350 BUT no use.
我设法在设计时通过右键单击报告>设计>页面设置来设置边距。如果我在此处设置,边距工作完美,它们反映在报告查看器和硬拷贝中。但是当我使用上面的代码时,这不会发生。