原文出处
http://blog.csdn.net/qiong12/archive/2009/02/03/38603081.aspx
忙了一天,终于把HR系统的代扣明细报表的套打搞定了,
细数历程,感觉应该记载些东西下来。
我是采用jatoolsPrinter.cab控件进行打印的,此控件根据page1、page2、。。。命名的div进行打印,此需要在中插入以下JAVASCRIPT代码:
为了动态创建DIV并给取命名,我采用在GRIDVIEW中创建一Columns,此COLUMN为一TemplateField,然后在这其中加入一个DIV,此GRIDVIEW的命名规则即为page#。
counter在apx.cs中定义:public int counter=0;
在此DIV中嵌入各种控件,即为每页要打印的内容,在protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)触发事件进行DIV里面的GRIDVIEW赋值:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
if (row.DataItem != null)
{
GridView gv = new GridView();
gv = (GridView)row.FindControl("GridView2");
string page = ((suCutSalaryPage)e.Row.DataItem).页;
int nPage = Int32.Parse(page);
DataTable dt = _list2[nPage - 1];
gv.DataSource = dt;
gv.DataBind();
}
}