之前发的帖子都没人去看,现在再重新发一份吧!希望大家来看看,指点指点……

Shania2013 2010-08-25 01:55:58
我有5个报表,现在要根据条件来查询这五个报表,如图:
http://hi.csdn.net/space-3870495-do-album-picid-620012.html
我的条件就是左边的CheckList,右边的五个是我要查的报表,当我选择多个条件,多个报表,这样可以点击Print按钮将多个报表打印出来吗????
...全文
193 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
东莞寻香苑 2010-08-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 husiya2009 的回复:]
Error in File C:\DOCUME~1\admin\LOCALS~1\Temp\Crt_Picking {AE635B4D-7C9E-4838-BE33-DE98723EAB9F}.rpt:
Invalid export DLL or export format.
我导出的时候报这个错是怎么回事呀
[/Quote]

C:\DOCUME~1\admin\LOCALS~1\Temp 给这个文件夹读写权限
Shania2013 2010-08-26
  • 打赏
  • 举报
回复
Error in File C:\DOCUME~1\admin\LOCALS~1\Temp\Crt_Picking {AE635B4D-7C9E-4838-BE33-DE98723EAB9F}.rpt:
Invalid export DLL or export format.
我导出的时候报这个错是怎么回事呀
Shania2013 2010-08-25
  • 打赏
  • 举报
回复
谢了哦 呵呵
阿泰 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 husiya2009 的回复:]
这么复杂呀
那用什么工具把他合并成一个pdf呢?怎么操作呀
[/Quote]

参考
itextsharp 操作合并PDF文件
-小蕾- 2010-08-25
  • 打赏
  • 举报
回复
关注,导出报表为pdf,参考:
http://hi.baidu.com/e_%D2%EC%B3%A3/blog/item/e2ae6758ed8083232934f058.html
http://blog.csdn.net/lfywy/archive/2008/05/16/2450710.aspx
===================
  //预览
private void button1_Click(object sender, EventArgs e)
{
try
{
int MemberId = 0;
if (textBox1.Text != "")
{
Mydata.Clear();
Mydata2.Clear();
MemberId = Convert.ToInt32(textBox1.Text.Trim());
if (member.Exists(MemberId))
{
da = new MySqlDataAdapter("select a.MemberId as MemberId,MemberName,type, if(type=0, CAST(Score as CHAR(20)) ,if(Score=0,'不合格','合格') ) as Score from member as a left join memscore as b on a.memberid = b.memberid where a.memberid=" + MemberId + "", conn);
da.Fill(Mydata, "MyReportDataTable");

crystalReport11.SetDataSource(Mydata);
crystalReportViewer1.ReportSource = crystalReport11;
crystalReportViewer1.ShowPrintButton = false;

}
else
{
MessageBoxEx.Show("您输入的Id号错误!");
return;
}
}
else
{
MessageBoxEx.Show("请输入您的Id号!");
return;
}
}
catch (Exception ex)
{
MessageBoxEx.Show(ex.Message);
}

}
//=============打印==================
PrintDocument print = new PrintDocument();
crystalReport11.PrintOptions.PrinterName = print.PrinterSettings.PrinterName;
crystalReport11.PrintToPrinter(1, true, 1, 1);//打印


(PS:帮你编辑一下,by 阿泰)
Shania2013 2010-08-25
  • 打赏
  • 举报
回复
这么复杂呀
那用什么工具把他合并成一个pdf呢?怎么操作呀
阿泰 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 husiya2009 的回复:]
可不可以在打印的时候将这些报表保存为一个文件然后再预览呢???
[/Quote]

可以先导出5个pdf,然后用其他工具合并成一个pdf,然后再用页面(在客户端安装了pdf阅读软件的前提下,不是用CrystalReportViewer)显示这个pdf。

要打印就依赖于pdf阅读软件,不再靠水晶报表,水晶报表在完成导出5个pdf的任务后,工作结束。
Shania2013 2010-08-25
  • 打赏
  • 举报
回复
可不可以在打印的时候将这些报表保存为一个文件然后再预览呢???
阿泰 2010-08-25
  • 打赏
  • 举报
回复
一个CrystalReportViewer一次只能显示一个报表,要是你选择了5个,你准备怎么给用户预览?
阿泰 2010-08-25
  • 打赏
  • 举报
回复
借用你原来的一段代码,这里只写一个的打印实现过程
DataSet1 ds = new DataSet1();
SqlDataAdapter da = new SqlDataAdapter();
SqlConnection conn = new SqlConnection("server=CYBERAGE-22\\SQLEXPRESS;integrated security=true;database=PMS");
string sql="select SALES_DETAILS.sales_no,cust_code,sales_date,cust_address,product_code,forensic,order_qty from ";
sql=sql+"SALES_MASTER,SALES_DETAILS where SALES_MASTER.sales_no=SALES_DETAILS.sales_no and SALES_MASTER.sales_no='INV2010080008'";
da = new SqlDataAdapter(sql, conn);
da.Fill(ds, "DS_Sales");

//使用报表对象加载报表
ReportDocument myReport = new ReportDocument();
string reportPath = Server.MapPath("Crt_Customer.rpt");
myReport.Load(reportPath);

//绑定数据集,注意,一个报表用一个数据集。
myReport.SetDataSource(ds);
//此句删除
//CrystalReportViewer1.ReportSource = myReport;
//增加下面两句
//指定打印机(必须)
myReport.PrintOptions.PrinterName="打印机名称";
//进行打印
myReport.PrintToPrinter(1,true,0,0);
Shania2013 2010-08-25
  • 打赏
  • 举报
回复
但是打印按钮中的代码该如何实现呢??我没写过,不会,是否有例子???
还有,就是我再在界面中加一个预览按钮,可不可以实现预览我将要打印的报表????
阿泰 2010-08-25
  • 打赏
  • 举报
回复
1个和5个(或任意选择的几个),没有本质的区别。
一次打印5个,就是把代码写5遍而已,只是每遍中的数据源和调用模板不同罢了。
阿泰 2010-08-25
  • 打赏
  • 举报
回复
1个和5个,没有本质的区别。
一次打印5个,就是把代码写5遍而已,只是每遍中的数据源和调用模板不同罢了。
马老虎 2010-08-25
  • 打赏
  • 举报
回复

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧