水晶报表push模式下工具栏上的按纽都不起作用了,点击后自动跳转到输入条件页
在vs2005下,C#后台代码,asp.net的web水晶报表 连接的是oracle9i数据库--------------
在push模式下,我已经建立出来一张报表.可以显示没问题.直接是在page_load事件里边执行的代码.
工具栏上的 打印,导出,分页 都好用
---------------------
可是存在这样一个问题.我要根据条件来生成报表的.比如:开始时间:textbox1.text,结束时间:textbox2.text,
在加一个button1提交按钮.当我输入条件 点击提交后 可以生成一张报表.(我在button的onclick()事件里边写的连接数据库等代码)
但是,就怕但是.水晶报表工具栏自带的 打印,导出,分页 就都不好用了.一点击相应的功能.web页面
就自动跳转到 刚开始输入条件的页面.
-----------------------
会的同志 请帮忙..高分奉上. --------------------编程问答-------------------- 放报表的网页要单独的一页,不能有其他控件 --------------------编程问答-------------------- protected void Button2_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();//该数据集名与前台定义的一致
SqlConnection sqlconn = new SqlConnection("data source=localhost;initial catalog='数据库名';user id=sa;password=");
sqlconn.Open();
SqlDataAdapter sqlda = new SqlDataAdapter("select danwmc as'单位名称' from danwb where Danwmc!='"+查询条件+"'", sqlconn);
sqlda.Fill(ds, "表名");//该表名与前台表名一致
ReportDocument rd = new ReportDocument();
rd.Load(Server.MapPath("CrystalReport.rpt"));
rd.SetDataSource(ds);
CrystalReportViewer1.ReportSource = rd;
CrystalReportViewer1.DataBind();
}
事件
注意:if(!ispostback)
{}一定要去掉否则水晶报表无法显示!!!!!
这样就可以放在同一张单表中了.如果你想放另一张表单中,可以用QUERYSTRING传个参数嘛!
方法:在前台表单中加一个DATASET控件,添加数据集,注意其中的表名和数据集名一定与代码中用的一致!
例如:
sqlda.Fill(数据集对象名, "表名");与前台的DATAST名一致!
建这个数据库的目的是为了向水晶报表中拖表中的字段!
待水晶报真正生成以后该数据集可删除!可一般不要删除,因为以后便于修改!
好了应该没问题啦! --------------------编程问答-------------------- ls正解不要用if(!ispostback) --------------------编程问答-------------------- to 二楼:zhanglizhi19851108
你说的我明白,我写出来的代码跟你一样..
就是这么写 才出来我上面的原因..
还请多指教. --------------------编程问答-------------------- to 一楼
那怎么可以啊!
我要在水晶报表页面里边做个 打印和导出功能. --------------------编程问答-------------------- 显示报表的动作必须在page_load里面,不然水晶报表自带按钮没法用的 --------------------编程问答-------------------- 关注................ --------------------编程问答-------------------- 在水晶报表视图里设置一个属性:ReuseParameterValues为false --------------------编程问答-------------------- 楼主问题解决了吗~我也遇到这个问题了 求解~~~~ --------------------编程问答-------------------- 2楼救了我
补充:.NET技术 , ASP.NET