Sunday, 7 November 2010

Crystal Report - P1

Crystal Report - C# - Myonl.net
Cơ bản với Crystal Report
Đầu tiên, ta tạo 1 database nhỏ để làm việc với nó, các bạn tạo trong sqlserver 1 database có tên example,
có 3 table là OrderMaster , OrderDetails ,Product


Code:
USE [exampleGO /****** Object:  Table [dbo].[OrderMaster]    Script Date: 09/04/2009 15:11:59 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE 
[dbo].[OrderMaster](
    [
OrderMaster_id] [intNOT NULL,
    [
OrderMaster_date] [datetimeNULL,
    [
OrderMaster_customername] [varchar](50NULL,
    [
OrderMaster_createduser] [varchar](50NULL,
 
CONSTRAINT [PK_OrderMasterPRIMARY KEY CLUSTERED  (
    [
OrderMaster_idASC )WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONON [PRIMARY]
ON [PRIMARYGO
SET ANSI_PADDING OFF
GO 
/****** Object:  Table [dbo].[OrderDetails]    Script Date: 09/04/2009 15:11:59 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE 
[dbo].[OrderDetails](
    [
OrderDetails_id] [intNOT NULL,
    [
OrderDetails_masterid] [intNULL,
    [
OrderDetails_productid] [intNULL,
    [
OrderDetails_qty] [intNULL,
 
CONSTRAINT [PK_OrderDetailsPRIMARY KEY CLUSTERED  (
    [
OrderDetails_idASC )WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONON [PRIMARY]
ON [PRIMARYGO /****** Object:  Table [dbo].[Product]    Script Date: 09/04/2009 15:11:59 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE 
[dbo].[Product](
    [
Product_id] [intNOT NULL,
    [
Product_name] [varchar](50NULL,
    [
Product_price] [numeric](180NULL,
 
CONSTRAINT [PK_ProductPRIMARY KEY CLUSTERED  (
    [
Product_idASC )WITH (PAD_INDEX  OFFSTATISTICS_NORECOMPUTE  OFFIGNORE_DUP_KEY OFFALLOW_ROW_LOCKS  ONALLOW_PAGE_LOCKS  ONON [PRIMARY]
ON [PRIMARYGO
SET ANSI_PADDING OFF
GO  
Tạo 1 project winform application trong VS.
Vào menu PROJECT-->Add New Item. Chọn item là Crytal Report
Hiện ra 1 bảng chọn mẫu báo cáo, ở đây tôi sẽ để mặc định
Crystal Report - C# - Myonl.net
Tiếp đến là chọn kết nối tới database ( ở đây là example), tôi sử dụng OLEDB Connection để kết nối.
Chọn OLEDB connection ở hôp thoại Create New Connection
Crystal Report - C# - Myonl.net
Điền các thông tin kết nối vào :
Crystal Report - C# - Myonl.net
Ở hộp thoại kế tiếp sẽ hiện các thông số kết nối, cứ việc Finish
Ở đây tôi muốn hiện thị table Product, nên chọn table Product
Crystal Report - C# - Myonl.net
Chọn các trường của table product
Crystal Report - C# - Myonl.net
Chọn next và chọn các kiểu hình thức của report, cuối cùng là Finish Crystal Report - C# - Myonl.net
Crystal Report - C# - Myonl.net

Đã xong bước tạo report, trên Form1 chúng ta tạo lúc nãy,kéo vô 1 cái Button và 1 cái CrystalReportViewer control,khi click vô button thì sẽ hiện ra báo cáo :

Code:
ReportDocument cryRpt = new ReportDocument();
            
cryRpt.Load(@"C:\Documents and Settings\Qu@n Bom\My Documents\Visual Studio 2008\Projects\Example\Example\CrystalReport1.rpt");
            
crystalReportViewer1.ReportSource cryRpt;
            
crystalReportViewer1.Refresh();  
Quên, nhớ là phải using CrystalDecisions.CrystalReports.Engine;
Crystal Report - C# - Myonl.net


Tạo Crystal Report với nhiều bản



Bài trên ta đã tạo report chỉ với 1 bảng là Product, bây giờ sẽ tạo report với nhiều bảng xem sao nhé 
Mọi việc cũng giống như trên, đến bước chọn các table thì ta chọn cả 3 table cho nó máu, sau đấy là chọn các fields muốn report :

Mọi chuyện lại tiếp tục như thế

No comments:

Post a Comment