我已经能用reoprtDocument对象完成与数据表绑定的报表的打印,但如果报表是与DataSet绑定的如何实现打印。问题的核心是没办法将与DataSet绑定的报表装入reoprtDocument,以进行打印。
各位大虾帮帮忙吧!
各位大虾帮帮忙吧!
解决方案 »
- 怎么弹出“文件已存在,是否覆盖”对话框
- 给WIN7装完IIS后如何打开默认网站的属性
- 网站编辑应具备什么知识啊?
- 开发用户控件丢失样式问题, 请进来看一下[急!!!!!]
- 用asp.net做网站,在vs中浏览是好的,放虚拟目录浏览就报错,帮帮忙,急
- 怎样检测DataTable中某一列含有重复的行
- 添加图片到SQLSERVER问题!
- datagrid中的两个dropdown如何互动?
- ■□■□■ 急求实现 socket 通讯的 helloworld.aspx 源码
- datagrid中有一个模板列,如何对这个模板列中的dropdownlist的selectedindexchanged事件编程?急!
- 【求一解决方案】想让Web程序支持多数据库
- 如何弹出一个新页而不用关闭原先的页面
{
CrystalReport1 ort=new CrystalReport1();
string strconn=ConfigurationSettings.AppSettings["strconn"];
SqlConnection myconn=new SqlConnection(strconn);
myconn.Open();
SqlDataAdapter sqlDataAdapter1=new SqlDataAdapter("select * from *** " ,myconn);
DataSet ds=new DataSet();
sqlDataAdapter1.Fill(ds,"DataBook");
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
ort.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource=ort; }
Dim StrSQL As String Dim StrCnn As New SqlConnection(ConfigurationSettings.AppSettings("JDEWEB_CONNECTION"))
Dim StrCmd As SqlDataAdapter
Dim ds As New DS_MFG001'妳自己新建的dataset
Dim RptDoc As New ReportDocument
Dim fname As String = ConfigurationSettings.AppSettings("Report_Path") + "MFG001.rpt"
Function LoadReport()
StrCmd = New SqlDataAdapter("sp_GetMFG001_VPSLIST", StrCnn)
StrCmd.SelectCommand.CommandType = CommandType.StoredProcedure
StrCmd.SelectCommand.Parameters.Add(New SqlParameter("@WoNo1", SqlDbType.NVarChar, 10))
StrCmd.SelectCommand.Parameters("@WoNo1").Value = TxtWono1.Text
StrCmd.SelectCommand.Parameters.Add(New SqlParameter("@WoNo2", SqlDbType.NVarChar, 10))
StrCmd.SelectCommand.Parameters("@WoNo2").Value = TxtWono2.Text
StrCmd.Fill(ds, "VPSLIST")
StrCmd.Fill(ds, "MFG001")
Try
RptDoc.Load(fname)
RptDoc.SetDataSource(ds)
CRViewer.ReportSource = RptDoc
Catch sqlex As SqlException
lblErrMessage.Text = "連接服務器失敗!請稍后重試!"
Catch ex As LoadSaveReportException
Response.Write("<script language='javascript'>alert('Loading Report False,Please Try Later!')</script>")
End Try
CRViewer.Visible = False
End Function
Private Sub BtnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPreview.Click
LoadReport()
Dim ObjFile As New DiskFileDestinationOptions
ObjFile.DiskFileName = ConfigurationSettings.AppSettings("Report_Path") + "Export\MFG001.pdf"
Dim lname As String = "./Reports/Export/MFG001.pdf"
Try
With RptDoc.ExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
.DestinationOptions = ObjFile
End With
RptDoc.Export()
If ds.Tables("VPSLIST").Rows.Count = 0 And ds.Tables("MFG001").Rows.Count = 0 Then
CRViewer.Visible = False
lblErrMessage.Visible = True
lblErrMessage.Text = "Not Found Recorder About This No!"
Else
lblErrMessage.Visible = False
Response.Write("<script language='javascript'>window.open('" & lname & "','','toolbar=0,menubar=0,status=0,resizable=1')</script>")
End If
Catch ex As SqlException
'lblErrMessage.Text = ex.ToString
Response.Write("<script language='javascript'>alert('Sorry,Server Busy!Please Try Later!')</script>")
End Try
System.IO.File.Delete(" & lname & ") End Sub
先谢谢了!
我用的是B/S方式,在浏览器中,CrystalViewer无法显示出“打印”按钮啊!请问大虾有办法让这个按钮显示出来吗?
谢谢你!
让我先试验一下!试验成功马上结帖!
to:wangrenda(浪人)
先谢谢了!
我用的是B/S方式,在浏览器中,CrystalViewer无法显示出“打印”按钮啊!请问大虾有办法让这个按钮显示出来吗?
你的不是crystal report 10企业版吧
{
CrystalReport1 ort=new CrystalReport1();
string strconn=ConfigurationSettings.AppSettings["strconn"];
SqlConnection myconn=new SqlConnection(strconn);
myconn.Open();
SqlDataAdapter sqlDataAdapter1=new SqlDataAdapter("select * from *** " ,myconn);
DataSet ds=new DataSet();
sqlDataAdapter1.Fill(ds,"DataBook");
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
ort.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource=ort; }
我用的是.net 2003自带的水晶报表。它和企业版有很大不同吗?
请指教!!!