Trang 1 trên 1

Em hỏi về crystalreport!

Đã gửi: T.Năm 03/04/2008 8:06 pm
gửi bởi HaiTrieu
em tạo report bằng crystalreport, em đã viết code và chạy được trên máy của e. nhưng khi mang sang máy khác (khác tên server của sql, ngoài ra database, các dữ liệu trong database đều giống nhau) thì không chạy được (vì khác server name)
hok bit viết trong chương trình như thế nào để crystalreport change được datasource.
e viết web, c#.

pác nào bít giúp e với, dg cần gấp lắm.

cảm ơn các bác.

Re: Em hỏi về crystalreport!

Đã gửi: T.Sáu 04/04/2008 11:15 pm
gửi bởi Lam Tieu Tuong
Cái này mình dùng strongtype Dataset,sử dụng file Access Northwind.mdb làm cơ sở dữ liệu.
Chương trình sử dụng Crystal Report biểu diễn 2 bảng có quan hệ một nhiều trong ASP.NET. Trong ví dụ này là hai bảng Customer và Orders trong file Access Northwind.mdb. Yêu cầu trong Crystal Report, Các orders phải được group theo CompanyName:
1. Attach File Access vào thư mục App_Data( trong ví dụ này là file Northwind)
2. Tạo Dataset bằng cách bấm chuột phải vào tên website rồi chọn Add New Item. chọn Dataset: Đặt tên là dsNorthwind. Bấm Yes để tại file Dataset trong App_Code.
3.Bấm Cancel khi hiện ra bảng yêu cầu chọn Connection.
4.Vào View chọn Server Explorer. Mở kết nối Northwind. Kéo vào 2 bảng theo yêu cầu đề bài. Trong Ví dụ này là Customer và Order
5.Chắc chắn rằng 2 bảng có kết nối 1 nhiều. Nếu không có kết nối thì tạo kết nối bằng cách bấm chuột phải chọn Add ->Relation.
6.Nhớ bấm vào nút Save All trước khi thực hiện bước kế tiếp
7.Bấm chuột phải vào tên website chọn Add New Item.
8.Chọn Crystal Report.
9.Một cửa sổ hiện ra. Bấm Ok
10.Cửa sổ Standard Report Creation wizard. Chọn Project Data -> ADO.NET Datasets. Có 2 trường hợp
a) Nhìn thấy dsNorthwind -> 2 bảng Customer và Orders :Chuyển hai bảng Customer và Orders qua Selected Table bằng nút >. Sau đó chuyển về bước 11.
b)Trong trường hợp không nhìn thấy 2 bảng đó là vì chưa Save All trước khi tạo Crystal Report thì làm theo các bước sau(10.2,10.3,..).
10.1. Bấm Cancel để thoát khỏi cửa sổ.
10.2. Bấm vào nút Save all để lưu lại tất cả.
10.3. Mở file .rpt để trên menu xuất hiện lựa chọn Crystal Report.
10.4. Lựa chọn Crystal Report -> Fields Explorer.
10.5. Bấm chuột phải vào Fields Explorer chọn Database Expert.
10.6. Xuất hiện cửa sổ wizard, bấm F5 vài lần, mở Project data->ADO.NET Datasets. Thấy dsNorthwind->2 bảng Customer Orders.Chuyển hai bảng Customer và Orders qua Selected Table bằng nút >.
11.Bấm Finish, Mở Field explorer.
12.Mở Database fields-->Orders. kéo các trường trong bảng Orders được yêu cầu vào Section 3.( Ví dụ OrderID, Orderdate, ShipName).
13.Bấm chuột phải vào Group Name Fields. Chọn Insert Group->Mở Combobox phía trên, chọn CompanyName trong bảng Customer. Bấm nút Save All.
14.Bấm vào file Default.aspx.
15.Kéo Control: CrystalReportSource đặt tên crsNorthwind. Chọn Configure Report Source -> Chọn file .rpt tương ứng.
16.Kéo Button: Đặt text Show Crystal Report
17.Kéo Control: CrystalReportViewer( chú ý có nhiều người nhầm với control CrystalReportParsViewer).
18.Chọn Crystal Report Source là crsNorthwind ( vừa tạo ở trên).
19. Bấm double click vào Button vào viết code:

Mã: Chọn hết

  1. Imports dsNorthwindTableAdapters
  2. Partial Class _Default
  3.     Inherits System.Web.UI.Page
  4.  
  5.     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.         Dim dsNw As New dsNorthwind
  7.         Dim daCustomer As New CustomersTableAdapter
  8.         Dim daOrders As New OrdersTableAdapter
  9.         daCustomer.Fill(dsNw.Customers)
  10.         daOrders.Fill(dsNw.Orders)
  11.         crsNorthwind.ReportDocument.SetDataSource(dsNw)
  12.     End Sub
  13. End Class

Re: Em hỏi về crystalreport!

Đã gửi: T.Bảy 05/04/2008 10:14 am
gửi bởi hieucoi
còn tui thì cho tui hỏi tí.tui cài win ko lỗi nhưng sao lai ko có regedit
có cách nào lấy nó mà ko cần cài lại win ko các bác

Re: Em hỏi về crystalreport!

Đã gửi: T.Hai 07/04/2008 5:16 pm
gửi bởi meoconbuongbinh1712
@Haitrieu:Bạn có thể tạo một cái data source ảo khác để làm reports