private void printDocument1_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
{
PaintEventArgs myPaintArgs = new PaintEventArgs(e.Graphics, new Rectangle(new Point(0, 0), this.Size));
this.InvokePaint(this.dataGrid1, myPaintArgs);
}

解决方案 »

  1.   

    我的方法是在填充DataGrid的时候,把SQL语句以及参数都存在DataTable的ExtendedProperties里,
    打印时直接执行这个语句获取打印数据就可以了,
    DataTable myTable = (myDataGrid.DataSource as DataSet).Tables[0];
    string SQL = myTable.ExtendedProperties["SQL"].ToString();
    object[] myParams = (object[])myTable.ExtendedProperties["Params"];
    最后一句不知道要不要加(object[]),忘了,呵呵,
    取出SQL语句和参数后,再执行查询跟报表进行绑定就行了