Cách sử dụng báo cáo tinh thể với ASP.Net 2.0. Bất kỳ mẫu/hướng dẫn/ví dụ nào cho thấy cách triển khai Crystal Reports trên máy chủ sản xuất.Làm thế nào để sử dụng Crystal Reports với ASP.NET?
Trả lời
Sau khi vừa trải qua nỗi đau của bản thân mình, đây là một vài gợi ý mà hy vọng sẽ giúp bạn tiết kiệm thời gian ...
Crystal Reports on MSDN - rất nhiều thứ tốt ở đây
Which Persistence Approach Should I Use with Crystal Reports - cung cấp chi tiết và mã mẫu về cách tốt nhất để kiểm soát lifesycle của một đối tượng báo cáo
This post cũng đưa ra một số lời khuyên tốt xung quanh vòng đời đối tượng báo cáo
triển khai ... Th Các báo cáo mới nhất của Crystal Reports không chạy trong môi trường 64 bit, vì vậy nếu triển khai đến máy chủ 64 bit, bạn sẽ phải cấu hình IIS để chạy chế độ 32 bit hoặc sử dụng phiên bản trước của thời gian chạy. Tôi đã có may mắn nhất với thời gian chạy được phân phối với VS2008, điều này có thể được tìm thấy trong
C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages \ CrystalReports10_5
Tôi lưu ý rằng bạn đang sử dụng ASP.NET 2.0 - tôi chắc chắn có thời gian chạy tương đương VS2005. Hãy thử và có được môi trường triển khai làm việc sớm trong dự án, vì nó sẽ không nghi ngờ gây ra đau đầu nhiều hơn bạn mong đợi.
Cuối cùng, một điểm cuối cùng đã khiến chúng tôi tốn thời gian và đáng nói đến - màn hình thông số chuẩn trong Crystal Reports sẽ chỉ đưa bạn đến thời điểm này. Nếu bạn muốn phức tạp với cách bạn trình bày tham số của mình cho người dùng (ví dụ: bằng cách có tham số phụ thuộc vào việc chọn tham số khác), bạn sẽ cần phải cuộn màn hình tham số của riêng mình. Điều này là khá dễ dàng như mô hình đối tượng cung cấp cho bạn truy cập vào tất cả các thông tin bạn sẽ cần về các tham số. Chúng tôi đã đi xuống con đường của việc tạo ra một màn hình thông số chung mà xây dựng chính nó theo các thông số được tìm thấy trong báo cáo nó được chỉ ra.
Đây là mã tôi thường sử dụng:
'Generate the Report
Dim oRpt As New ReportDocument
Dim reportPath As String = Server.MapPath("crtTAL.rpt")
oRpt.Load(reportPath)
oRpt.SetDataSource(dsTAL)
If Not IO.Directory.Exists(tempLocation) Then
IO.Directory.CreateDirectory(tempLocation)
End If
If IO.File.Exists(tempLocation & filename) Then
IO.File.Delete(tempLocation & filename)
End If
' ********************************
' First we must create a new instance of the diskfiledestinationoptions class and
' set variable called crExportOptions to the exportoptions class of the reportdocument.
Dim crDiskFileDestinationOptions As New DiskFileDestinationOptions
Dim crExportOptions As ExportOptions = oRpt.ExportOptions
'Export to Word
'append a filename to the export path and set this file as the filename property for
'the DestinationOptions class
crDiskFileDestinationOptions.DiskFileName = tempLocation + filename
'set the required report ExportOptions properties
With crExportOptions
.DestinationOptions = crDiskFileDestinationOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.WordForWindows
End With
'Once the export options have been set for the report, the report can be exported. The Export command
'does not take any arguments
Try
' Export the report
oRpt.Export()
oRpt.Close()
oRpt.Dispose()
projectCount = projectCount + 1
Catch err As Exception
Response.Write("<BR>")
Response.Write(err.Message.ToString)
errorList = errorList & dtrProjects.Item("Title") & "; "
End Try
Thats những gì tôi sử dụng thông thường, Asp.net/C#
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
///create instance of class first
ReportDocument rpDoc = new ReportDocument();
///load the report
rpDoc.Load(@"TicketingBasic.rpt");
///pass the report to method for dataInfo
getDBInfo(rpDoc);
/// et the source for report to be displayed
CrystalReportViewer1.ReportSource = rpDoc;
}
protected static void getDBInfo(ReportDocument rpDoc)
{
///Connection Onject
ConnectionInfo cn = new ConnectionInfo();
///DataBase,Table, and Table Logon Info
Database db;
Tables tbl;
TableLogOnInfo tblLOI;
///Connection Declaration
cn.ServerName = "??????";
cn.DatabaseName = "???????";
cn.UserID = "???????";
cn.Password = "????????";
//table info getting from report
db = rpDoc.Database;
tbl = db.Tables;
///for each loop for all tables to be applied the connection info to
foreach (Table table in tbl)
{
tblLOI = table.LogOnInfo;
tblLOI.ConnectionInfo = cn;
table.ApplyLogOnInfo(tblLOI);
table.Location = "DBO." + table.Location.Substring(table.Location.LastIndexOf(".") + 1);
}
db.Dispose();
tbl.Dispose();
}
và trên ASPX phụ:
<CR:CrystalReportViewer
ID="CrystalReportViewer1"
runat="server"
AutoDataBind="true"
EnableDatabaseLogonPrompt="false"
/>
- 1. Crystal Reports trong ASP.NET MVC
- 2. Crystal Reports crosstab
- 3. Crystal Reports hội triển khai trên Appharbor
- 4. Làm thế nào để công việc cấp phép của Crystal Reports Runtime?
- 5. Lồng nhau nếu có trong Crystal Reports
- 6. Làm thế nào để chèn hình ảnh động trong Crystal Reports
- 7. Hiển thị RichText trong Crystal Reports
- 8. Sử dụng kết quả của một dịch vụ web RESTful làm dữ liệu trong Crystal Reports
- 9. Crystal Reports 8.5/9 - Làm cách nào để xóa giá trị "mặc định" cho thông số?
- 10. Làm cách nào để tôi đạt được biểu đồ đường nhiều hàng trong Crystal Reports?
- 11. Làm cách nào để căn chỉnh chính xác các trường số trong Crystal Reports 2008?
- 12. Crystal Reports 10 Command Object Change Datasource Vị trí
- 13. Reverse Engineering Crystal Reports Định nghĩa tập tin
- 14. Làm thế nào để tôi có được hình ảnh khác nhau trên các trang khác nhau trong Crystal Reports VS2010
- 15. biến Crystal Reports, tiểu báo cáo, và chia sẻ
- 16. Căn chỉnh theo chiều dọc trong Crystal Reports?
- 17. Cách tốt nhất để dọn dẹp tài nguyên được sử dụng bởi đối tượng Crystal Reports ReportDocument là gì?
- 18. Không thể mở tệp .rpt Crystal Reports trong Visual Studio 2010
- 19. Làm thế nào để sử dụng System.Web.Caching trong asp.net?
- 20. Tôi có thể lấy danh sách những gì Crystal Reports có xung đột?
- 21. Có thể hiển thị nội dung của tệp văn bản trong Crystal Reports
- 22. Tự động thay đổi tệp dữ liệu XSD trong Crystal Reports
- 23. Thời gian chạy của SAP Crystal Reports cho .Net 4.0 (64-bit)
- 24. Làm thế nào để sử dụng định tuyến ASP.NET 4 WebForms với chuỗi truy vấn?
- 25. làm thế nào để sử dụng jQuery ajax với điều khiển người dùng asp.net?
- 26. Làm thế nào để sử dụng Dependency Injection với ASP.NET Web Forms
- 27. Làm thế nào để sử dụng gói plupload với ASP.NET MVC?
- 28. Làm thế nào để sử dụng flot với jQuery trong ASP.NET MVC?
- 29. Asp.net MVC 4 làm thế nào để sử dụng WebSecurity.createUserAndAccount với lĩnh vực tùy chỉnh
- 30. Công thức Crystal Reports chuyển đổi chuỗi số thành giá trị, nhưng không để trống số/null