Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Cách tạo crystal report?

  1. #1
    Ngày gia nhập
    02 2007
    Nơi ở
    Thủ Đức - TPHCM
    Bài viết
    49

    Post Cách tạo crystal report?

    các bạn ơi có thể giúp mình tạo một cái report được không mình tạo thử rồi nhưng mình không thấy cá Dữ Liệu trên report mà chỉ thấy mấy cái tiêu đề không àh

  2. #2
    Ngày gia nhập
    07 2007
    Nơi ở
    Ninh Bình
    Bài viết
    6

    Xin chào các bạn!!!!
    Các bạn ơi, các bạn có thể cho mình hỏi: Tạo crystal report trong VS.NET khi cần tạo bộ setup thì phải làm thế nào. Bởi mình tạo xong rồi mang máy khác chạy thì không chạy được mà khi cài ở máy mình thì vẫn chạy bình thường. MÌnh không hiểu được lý do. Rất mong các bạn giúp đỡ

  3. #3
    Ngày gia nhập
    04 2007
    Bài viết
    10

    Chắc bạn đã biết cách tạo bộ setup rồi, tôi chỉ chỉ cho bạn biết cách thêm vào các merge module thôi:
    1. Ở cửa sổ Solution Explorer, nhấp phải vào Setup1(hay tên project của bộ setup), chọn Merge Module....
    2. Ở hộp thoại Add Modules, chọn merge modules bạn cần:
    Ví dụ: bạn đang viết ứng dụng cho Windows thì bạn chọn:
    • Crystal_Database_Access.msm
    • Crystal_Database_Access_enu.msm
    • Crystal_Managed.msm

    ----Tham khảo ----
    Machine type Project type Merge modules required:
    x86 Windows applications
    • Crystal_Database_Access.msm
    • Crystal_Database_Access_enu.msm
    • Crystal_Managed.msm
    x86 Web Sites
    • Crystal_Database_Access.msm
    • Crystal_Database_Access_enu.msm
    • Crystal_Managed.msm
    • Crystal_Webformviewer.msm
    AMD64 Windows applications
    • Crystal_Database_Access_A64.msm
    • Crystal_Database_Access_enu_A64.msm
    • Crystal_Managed_A64.msm
    • _VC_80_WinSxS_ATL_AMD_RTL_X86_---.msm
    • _VC_80_WinSxS_MFC_AMD_RTL_X86_---.msm
    AMD64 Web Sites
    • Crystal_Database_Access_A64.msm
    • Crystal_Database_Access_enu_A64.msm
    • Crystal_Managed_A64.msm
    • Crystal_Webformviewer.msm
    • _VC_80_WinSxS_ATL_AMD_RTL_X86_---.msm
    • _VC_80_WinSxS_MFC_AMD_RTL_X86_---.msm
    IA64 Windows applications
    • Crystal_Database_Access_I64.msm
    • Crystal_Database_Access_I64_enu.msm
    • Crystal_Managed_I64.msm
    • _VC_80_WinSxS_ATL_IA_RTL_X86_---.msm
    • _VC_80_WinSxS_MFC_IA_RTL_X86_---

    -----------

    Chúc bạn thành công!

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    79

    Để tạo và chạy Crystal Report trong .NET, các bước thực hiện như sau:

    1. Viết sẵn một View hoặc Stored Procedure trong MS SQL Server. Tốt nhất là Stored Pro vì thông thường sẽ phải truyền thông số (@param) vào để so sánh, lọc, tính toán... trước khi đưa ra báo cáo. Một Stored Procedure mẫu mực có cấu trúc như sau:

    Code:
    CREATE  PROCEDURE Test_Out -- Stored Procedure Name
    @Date1 datetime,
    @Date2 datetime,
    @PercentTotal int
     AS
    SELECT  *
    FROM dbo.Test_Temp tt-- Table Name
    WHERE (tt.StartDate >= @Date1) AND (tt.StartDate <= @Date2) AND (@PercentTotal <= Convert(int,(tt.Total * 100)))
    GO
    2. Vào Control Panel / Adminstrative Tools / Data Sources (ODBC) tạo một User DSN mới, load Database đang dùng vào.

    3. Quay trở lại Visual Studio. Chuột phải lên Project Name, chọn Add New Item (hoặc Windows Form cũng được) rồi chọn Crystal Report.

    4. Kích đúp chuột trái lên file CrystalReport1.rpt vừa tạo ra để vào phần Edit Crystal Report. Một menu Crystal Reports xuất hiện trên thanh menu.

    5. Vào phần Database Expert. Trong phần ODBC (RDO) chọn cái Database vừa load vào ODBC, rồi chọn Stored Procedure cho Report đó. Tiếp tục làm theo hướng dẫn để load các trường dữ liệu lên Report, đặt dữ liệu mặc định cho @Param, tạo thêm Group, thêm các công thức Sum... Save lại.

    6. Sau khi làm xong Report, quay lại tạo một form mới đặt tên là frmCrystal1. Từ thanh ToolBox bên trái màn hình, kéo xuống phần tool của Crystal Reports, kéo CrystalReportViewer control lên form mới này. Nó sẽ mặc định dính liền (dock) vào frmCrystal1, chiếm toàn bộ form.

  5. #5
    Ngày gia nhập
    11 2007
    Bài viết
    79

    7. Như vậy, đã có súng (tức là cái form frmCrystal1 có chứa cái CrystalReportViewer1 control) và đã có đạn (tức là cái file CrystalReport1.rpt đó). Giả sử có vài file .rpt như thế đã được tạo ra. Bây giờ viết code để bắn chúng nó lên. Giả định rằng đã có một menuStrip1 trên form chính frmMain. Bây giờ viết mã để khi frmCrystal được Load() lên, nó sẽ nhận biết được menu nào được click, tương ứng với file .rpt nào được "nạp đạn".

    Muốn vậy, phải khai báo một biến static để lưu giá trị Tag của menuItem tương ứng với từng report. Ví dụ menuItem (tức là cái mục menu con để click nằm trên menuStrip1 đó) mới được tạo ra có tên là Report1 và được gán giá trị Tag là rp1 lúc design.

    Visual C# Code:
    1.         public static string mnItem; //frmCystal1_Load() se dung lai bien nay
    2.  
    3.         private void report1ToolStripMenuItem_Click(object sender, EventArgs e)
    4.         {
    5.             System.Windows.Forms.ToolStripMenuItem mnuItem = (System.Windows.Forms.ToolStripMenuItem)sender; //Ky thuat Cast ep kieu object sender thanh kieu ToolStripMenuItem roi gan no cho object mnuItem
    6.  
    7.             mnItem = mnuItem.Tag.ToString();
    8.  
    9.             frmCrystal1 tmpCrys1 = new frmCrystal1();
    10.             tmpCrys1.Show();
    11.         }

    8. Form frmCrysTal1 được Load() lên. Viết mã trong sự kiện Load() cho nó như sau:

    Visual C# Code:
    1.         private void frmCrystal1_Load(object sender, EventArgs e)
    2.         {
    3.            
    4.         //Bien static frmMain.mnItem duoc truy cap truc tiep khong can tao instance
    5.  
    6.             if (  "rp1" == frmMain.mnItem )
    7.             {
    8.                 CrystalReport1 tmpCrystalReport1 = new CrystalReport1();
    9.                 crystalReportViewer1.ReportSource = tmpCrystalReport1;
    10.  
    11.       //Hien thi title cua report theo tieu de da duoc nhap khi design report
    12.           this.Text = tmpCrystalReport1.SummaryInfo.ReportTitle;             }
    13.             else if ("rp2" == frmMain.mnItem)
    14.             {
    15.  
    16.                 CrystalReport2 tmpCrystalReport2 = new CrystalReport2();
    17.                 crystalReportViewer1.ReportSource = tmpCrystalReport2;
    18.  
    19.                 this.Text = tmpCrystalReport2.SummaryInfo.ReportTitle;
    20.             }
    21.             else if ("rp3" == frmMain.mnItem)
    22.             {
    23.  
    24.                 CrystalReport3 tmpCrystalReport3 = new CrystalReport3();
    25.                 crystalReportViewer1.ReportSource = tmpCrystalReport3;
    26.  
    27.                 this.Text = tmpCrystalReport3.SummaryInfo.ReportTitle;
    28.             }
    29.  
    30.             crystalReportViewer1.Show();
    31.            
    32.         }

    9. OK, that's all. Bye.

  6. #6
    Ngày gia nhập
    06 2007
    Nơi ở
    HCM
    Bài viết
    365

    Mặc định Cách tạo crystal report?

    Cách làm của bác lắm thao tác quá, không nhất thiết phải tạo DSN ODBC datasource, và càng không cần hạn chế datasource trong store proc vì dùng trực tiếp datatable sẽ năng động hơn rất nhiều.
    Với .NET các report đã trở thành các typed name lên gây khó khăn khi dùng
    1 form chuẩn chung để gọi mọi loại báo cáo do vậy ta thường phải thường dùng hàng tá if .. then hay case để xử lý,tuy nhiên .net đã cung cấp cho ta 1 cách để tạo đối tượng theo type name lúc run time để xử lý trường hợp này

    Activator.CreateInstance
    Hoặc đơn giản hơn tạo 1 constructor với input là ReportClass
    Như vậy đầu vào của 1 form báo cáo chỉ cần
    + Type name của report hoặc 1 new instance của typed report class
    + Datasource ( datatable, ireader...)
    + Report parammeter
    như vậy Ta có thể code 1 form phục vụ cho gần như mọi loại báo cáo chỉ với hơn 10 line code
    hope this help
    Đã được chỉnh sửa lần cuối bởi Haipt : 31-01-2008 lúc 03:49 PM.

  7. #7
    Ngày gia nhập
    09 2011
    Nơi ở
    Yên Bái, Vietnam
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi minhitcn2 Xem bài viết
    các bạn ơi có thể giúp mình tạo một cái report được không mình tạo thử rồi nhưng mình không thấy cá Dữ Liệu trên report mà chỉ thấy mấy cái tiêu đề không àh
    Mình có một project có sử dụng crystal report ở đây, bạn có thể tham khảo mã nguồn.

Các đề tài tương tự

  1. Tạo report trong C# bằng Crystal Report như thế nào?
    Gửi bởi luxubu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 05-09-2015, 02:51 PM
  2. Tạo cột lặp lại trong CrossTab Report sử dụng Crystal Report trên C#
    Gửi bởi huuanhuynh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 02-06-2011, 10:53 AM
  3. Nhúng Crystal Report vào Baocao.aspx, sau đó xuất datagridview vào Crystal Report như thế nào????
    Gửi bởi lenamshenlong trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 17-05-2011, 06:48 AM
  4. Sử dụng AcitveX Crystal Report viewer (MFC) và Crystal Report 2008
    Gửi bởi tamthanh0424 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 22-07-2010, 11:34 PM
  5. Thiết kế Crystal report tronng VS 2005 | Report bị mất chữ?
    Gửi bởi hoituyen trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 5
    Bài viết cuối: 15-04-2009, 08:41 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn