namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.reportViewer1.RefreshReport();
reportViewer1.PrintDialog();
}
}
}
上述語法會跳出下面這個錯誤了解 PrintDialog() 之後,才發現原來是 RefreshReport() 時,ReportViewer 還在 Render 報表,此時 Code 會繼續往下執行,因為還在 Render 又遇上 PrintDialog() 就拋出錯誤
PrintDialog() 應該要放在 ReportViewer RenderingComplete Event 內最適合
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.reportViewer1.RefreshReport();
}
private void reportViewer1_RenderingComplete(object sender, Microsoft.Reporting.WinForms.RenderingCompleteEventArgs e)
{
reportViewer1.PrintDialog();
}
}
}
![[RV] 由於該物件目前狀態,導致作業無效-1](https://farm5.staticflickr.com/4318/35851813676_f48631e997.jpg)
![[RV] 由於該物件目前狀態,導致作業無效-2](https://farm5.staticflickr.com/4231/35761178271_b447d0bd80_z.jpg)
沒有留言:
張貼留言