У меня Visual Studio 2010 Enterprise.
Вот мой код, который отлично работает для всех остальных вещей, но он не меняет поля во время выполнения. Даже если значение 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.
Мне удалось установить поля во время разработки, щелкнув правой кнопкой мыши «Отчет»> «Дизайн»> «Параметры страницы». Если я установлю здесь, поля будут работать идеально, и они отразятся как в средстве просмотра отчетов, так и в печатной копии. Но этого не происходит, когда я использую приведенный выше код.