根据rpt文件打印报表

不用一个个地导入rpt文件,再去写固定的代码,而是每次动态的根据指定的名称去加载报表和打印
 
  if(Session["PrintXml"]!=null)
   {
    ReportDocument rd=new ReportDocument();
    rd.Load (this.Server.MapPath(" \\Flow\\FlowForm\\rpt")+"\\"+Session["PrintFormName"]+".rpt");
    rd.SetDataSource(XmlPage.GetDataSet( Session["PrintXml"].ToString(),"FlowData"));
    
    cr.ReportSource=rd;
   }

当然,报表必须和下面要取得的dataset配套才行。我的做法是:如果dataset来自数据库的表自然最好,否则,用access建立一个临时的表,结构和dataset一样,建成的rpt和dataset同样可以匹配。

你可能感兴趣的:(根据rpt文件打印报表)