Я сделал отчет в Crystal Report.И когда кнопка нажимает, она напрямую печатает отчет.На самом деле я хочу просмотреть отчет в printPreviewDialog, прежде чем появится диалоговое окно печати.И я не знаю, как подключить Crystal Report к printPreviewDialog и как показать только отчет, а не другие границы и окна в Crystal Report.
Я набрал свой код ниже.
private void button1_Click(object sender, EventArgs e)
{
CrystalReport1 cr = new CrystalReport1();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectDatabase.Properties.Settings.MyFirstDBConnectionString"].ToString();
//Sql query
string sql = "SELECT * from SaleInfoView";
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
adapter.Fill(ds, "SalesInfoView");
DataTable dt = ds.Tables["SalesInfoView"];
cr.SetDataSource(ds.Tables["SalesInfoView"]);
crystalReportViewer1.ReportSource = cr;
crystalReportViewer1.Refresh();
PrintDialog dialog1 = new PrintDialog();
dialog1.AllowSomePages = true;
dialog1.AllowPrintToFile = false;
if (dialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
int copies = dialog1.PrinterSettings.Copies;
int fromPage = dialog1.PrinterSettings.FromPage;
int toPage = dialog1.PrinterSettings.ToPage;
bool collate = dialog1.PrinterSettings.Collate;
cr.PrintOptions.PrinterName = dialog1.PrinterSettings.PrinterName;
cr.PrintToPrinter(copies, collate, fromPage, toPage);
}
cr.Dispose();
dialog1.Dispose();
}
У меня также былопредставили приведенный ниже экран ниже. введите описание изображения здесь