在asp.net中如何用水晶报表!
如何根据前一页传过来的参数,在第二页进行水晶报表的动态显示。我很菜,而且不是一般的菜 --------------------编程问答-------------------- UP --------------------编程问答-------------------- 学习,UP,这方面没搞过,不过如果是参数,也就再目标页获取后再用啊 --------------------编程问答-------------------- 前端时间刚做了个,不过是在公司开发平台上使用的水晶报表,所以只能大概说个方法了.
一般要有三支页面:
第一支页面是用户操作界面,选择要显示资料的条件。
第二支页面只要拉一个CrystalReportViewer控件,只要是根据第一支页面传递过来的条件参数,从数据库中捞取对应的资料,并对第三支页面进行数据库绑定。
第三支页面就是你所要显示的资料,拉水晶报表的控件
可以找些相关资料看看。 --------------------编程问答-------------------- function 易做图_Click(oToolbar, oButton, oEvent)
{
if (oButton.Key == "btnPrint")
{
var status = document.getElementById('<%= ddlStatus.ClientID %>').value;
<%= Fast.EB.Utility.Dialog.GetDialogStringForClientObject("DoorStatisticsReport.aspx", "", 1000, 1000,"Status=status") %>;
oEvent.needPostBack = false;
}
}//用javascript在前端传参数
string status = HttpUtility.UrlDecode(Request["Status"]); //在第二支页面代码中接参数
ReportDocument reportDocument = new ReportDocument();
string reportPath = Server.MapPath("XXXX.rpt");
reportDocument.Load(reportPath);
reportDocument.SetDataSource(GetDataSource());//第三支页面绑定数据源
crvStatistics.ReportSource = reportDocument;//第二支页面绑定数据源
this.crvStatistics.DataBind(); --------------------编程问答-------------------- 对上面的内容补充下,Javascript方法是在第一支页面的前端写的;
后面所有的代码是写在第二支页面的.cs文件中;
第三支只做显示,不写任何代码 --------------------编程问答-------------------- http://blog.csdn.net/zhulei2008
上面有个参考
和楼主提到的基本一致 --------------------编程问答-------------------- 新建一个页,得到前一个页的参数Response.QueryString[]
用这些参数查数据库得到DataTable(DataSet)
using CrystalDecisions.Shared;
using CrystalDecisions.Web;
using CrystalDecisions.CrystalReports.Engine;
oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument;
oRpt.Load
oRpt.SetDataSource(myData);//myData就是你的数据源
...
略
用流输出:
Stream stream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat);
...
stream.Read()
stream.Close();
...
代码我不会贴全的,Google上搜索可以找到很全面的解决方法
补充:.NET技术 , ASP.NET