Trang 1 trên tổng số 10 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 95 kết quả

Đề tài: Crystal reports căn bản trong lập trình C#

  1. #1
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Crystal reports căn bản trong lập trình C#

    Hôm nay tui sẽ dành viết mấy bài tut cơ bản nhất về crystal reports!
    Đầ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 là example, có 3 table là OrderMaster , OrderDetails ,Product

    SQL Code:
    1. USE [example]
    2. GO
    3. /****** Object:  Table [dbo].[OrderMaster]    Script Date: 09/04/2009 15:11:59 ******/
    4. SET ANSI_NULLS ON
    5. GO
    6. SET QUOTED_IDENTIFIER ON
    7. GO
    8. SET ANSI_PADDING ON
    9. GO
    10. CREATE TABLE [dbo].[OrderMaster](
    11.     [OrderMaster_id] [INT] NOT NULL,
    12.     [OrderMaster_date] [datetime] NULL,
    13.     [OrderMaster_customername] [VARCHAR](50) NULL,
    14.     [OrderMaster_createduser] [VARCHAR](50) NULL,
    15.  CONSTRAINT [PK_OrderMaster] PRIMARY KEY CLUSTERED
    16. (
    17.     [OrderMaster_id] ASC
    18. )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    19. ) ON [PRIMARY]
    20. GO
    21. SET ANSI_PADDING OFF
    22. GO
    23. /****** Object:  Table [dbo].[OrderDetails]    Script Date: 09/04/2009 15:11:59 ******/
    24. SET ANSI_NULLS ON
    25. GO
    26. SET QUOTED_IDENTIFIER ON
    27. GO
    28. CREATE TABLE [dbo].[OrderDetails](
    29.     [OrderDetails_id] [INT] NOT NULL,
    30.     [OrderDetails_masterid] [INT] NULL,
    31.     [OrderDetails_productid] [INT] NULL,
    32.     [OrderDetails_qty] [INT] NULL,
    33.  CONSTRAINT [PK_OrderDetails] PRIMARY KEY CLUSTERED
    34. (
    35.     [OrderDetails_id] ASC
    36. )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    37. ) ON [PRIMARY]
    38. GO
    39. /****** Object:  Table [dbo].[Product]    Script Date: 09/04/2009 15:11:59 ******/
    40. SET ANSI_NULLS ON
    41. GO
    42. SET QUOTED_IDENTIFIER ON
    43. GO
    44. SET ANSI_PADDING ON
    45. GO
    46. CREATE TABLE [dbo].[Product](
    47.     [Product_id] [INT] NOT NULL,
    48.     [Product_name] [VARCHAR](50) NULL,
    49.     [Product_price] [NUMERIC](18, 0) NULL,
    50.  CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED
    51. (
    52.     [Product_id] ASC
    53. )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    54. ) ON [PRIMARY]
    55. GO
    56. SET ANSI_PADDING OFF
    57. 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
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh1.jpg
Lần xem:	539
Size:		36.4 KB
ID:		7499

    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
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh2.jpg
Lần xem:	954
Size:		46.7 KB
ID:		7500

    Điền các thông tin kết nối vào :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh2.jpg
Lần xem:	954
Size:		46.7 KB
ID:		7500

    Ở 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
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh3.jpg
Lần xem:	614
Size:		39.9 KB
ID:		7502

    Chọn các trường của table product
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh4.jpg
Lần xem:	435
Size:		28.9 KB
ID:		7503

    Chọn next và chọn các kiểu hình thức của report, cuối cùng là Finish
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh5.jpg
Lần xem:	461
Size:		37.5 KB
ID:		7504

    Đã 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 :
    Visual C# Code:
    1.             ReportDocument cryRpt = new ReportDocument();
    2.             cryRpt.Load(@"C:\Documents and Settings\Qu@n Bom\My Documents\Visual Studio 2008\Projects\Example\Example\CrystalReport1.rpt");
    3.             crystalReportViewer1.ReportSource = cryRpt;
    4.             crystalReportViewer1.Refresh();

    Quên, nhớ là phải using CrystalDecisions.CrystalReports.Engine;
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh6.jpg
Lần xem:	537
Size:		27.9 KB
ID:		7505

    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 :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh7.jpg
Lần xem:	387
Size:		42.1 KB
ID:		7506

    Mọi chuyện lại tiếp tục như thế
    P/s : bài hướng dẫn vẫn chưa hết nên mọng các bạn chưa hỏi ở đây, tạm thời tui sẽ lock đề tài lại để viết tiếp
    Cánh Chym ứ mỏi

  2. #2
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Sử dụng parameter trong crytal report

    Ở bài này tôi sẽ hướng dẫn cách sử dụng String parameter.
    Ví dụ,bạn muốn đưa vào 1 tham số là customername,và sẽ hiện ra các đơn đặt hàng của khách hàng đó ở report.
    Ở đây, tui sẽ sử dụng tiếp cái report đã tạo ở bài trên.
    Chọn Fields Explorer (menu Crytal Reports ->Fields Explorer),chuột phải vào Parameter Fields,rồi new,điền các tham số vào :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh2.1.jpg
Lần xem:	1068
Size:		46.1 KB
ID:		7507

    Tôi chọn kiểu là string, các kiểu khác làm cũng tương tự
    Sau khi tạo xong parameter, ta sẽ tạo biểu thức cho các fields,vào cửa sổ design của crytal reports rồi làm như hình :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh2.2.jpg
Lần xem:	1009
Size:		43.7 KB
ID:		7508

    Hiện ra 1 editor để bạn thiết kế fomular, muốn sử dụng field nào thì chọn field đó,các bạn cứ làm theo thứ tự tớ oánh số trong hình nhá
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh2.3.jpg
Lần xem:	1051
Size:		40.3 KB
ID:		7509

    Thiết kế form như trong hình :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh2.4.jpg
Lần xem:	688
Size:		19.9 KB
ID:		7510

    Bi giờ ta viết code cho sự kiện của nút show
    Visual C# Code:
    1.         private void button1_Click(object sender, EventArgs e)
    2.         {
    3.             ReportDocument cryRpt = new ReportDocument();
    4.             cryRpt.Load(@"C:\Documents and Settings\Qu@n Bom\My Documents\Visual Studio 2008\Projects\Example\Example\CrystalReport1.rpt");
    5.  
    6.             ParameterFieldDefinitions crParameterFieldDefinitions;
    7.             ParameterFieldDefinition crParameterFieldDefinition;
    8.             ParameterValues crParameterValues = new ParameterValues();
    9.             ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
    10.  
    11.             crParameterDiscreteValue.Value = textBox1.Text;
    12.             crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
    13.             crParameterFieldDefinition = crParameterFieldDefinitions["Customername"];
    14.             crParameterValues = crParameterFieldDefinition.CurrentValues;
    15.  
    16.             crParameterValues.Clear();
    17.             crParameterValues.Add(crParameterDiscreteValue);
    18.             crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
    19.  
    20.             crystalReportViewer1.ReportSource = cryRpt;
    21.             crystalReportViewer1.Refresh();
    22.  
    23.         }
    Attached Files Attached Files
    Cánh Chym ứ mỏi

  3. #3
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Tạo reports từ DataSet

    Mấy bài trước tui chỉ tạo report từ database, ở bài này tui sẽ tạo 1 report từ DataSet coi sao nhé .
    Tạo 1 project winform mới, add thêm vào 1 DataSet,giữ nguyên các thông tin mặc định của nó,trên DataSet đó ta tạo ra 1 datatable có 2 column là ID và Item :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh3.1.jpg
Lần xem:	290
Size:		12.3 KB
ID:		7511

    Bây giờ ta sẽ tạo 1 report từ DataSet mới tạo ra. Vào menu Project->Add new item, chọn crytal report như mấy cái trên kia, để các thông số mặc định luôn cho tiện. Nhưng ở đây ta ko tạo ra connect tới database nào mà chọn luôn dataset lúc này :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh3.2.jpg
Lần xem:	367
Size:		30.7 KB
ID:		7512

    Ở bước kế tiếp, chọn luôn cả 2 column của DataTable trên DataSet lúc nãy nhé
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh3.3.jpg
Lần xem:	220
Size:		25.5 KB
ID:		7513

    Bây giờ tạo thêm vào form 1 cái button và 1 crystalReportViewer control như mấy cái trước. Tui sẽ tạo dữ liệu đơn giản cho dataset và hiển thị ở report :
    Visual C# Code:
    1.         private void button1_Click(object sender, EventArgs e)
    2.         {
    3.             DataSet1 ds = new DataSet1();
    4.             DataTable t = ds.Tables.Add("Items");
    5.             t.Columns.Add("id", Type.GetType("System.Int32"));
    6.             t.Columns.Add("Item", Type.GetType("System.String"));
    7.  
    8.             DataRow r;
    9.             int i = 0;
    10.             for (i = 0; i <= 9; i++)
    11.             {
    12.                 r = t.NewRow();
    13.                 r["id"] = i;
    14.                 r["Item"] = "Item" + i;
    15.                 t.Rows.Add(r);
    16.             }
    17.  
    18.             CrystalReport1 objRpt = new CrystalReport1();
    19.             objRpt.SetDataSource(ds.Tables[1]);
    20.             crystalReportViewer1.ReportSource = objRpt;
    21.             crystalReportViewer1.Refresh();
    22.  
    23.         }
    Cánh Chym ứ mỏi

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Tạo reports từ Sql query

    Ở bài này tui sẽ tạo report từ kết quả của các query trong Sql, vẫn sử dụng DataSet.
    Tui sẽ tạo report cho bảng Product trong cái database đã nói ở bài trên cùng nhé,câu truy vấn của chúng ta như sau :
    PHP Code:
    sql "SELECT Product_id,Product_name,Product_price FROM Product"
    Tạo mới 1 project winform và add vào 1 DataSet mới,trên DataSet đó tạo thêm 1 DataTable, và trên DataTable đó ta add 3 column vào nhá
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh4.1.jpg
Lần xem:	132
Size:		8.1 KB
ID:		7514

    Tuơng tự như bài vừa trên, tui sẽ tạo thêm 1 crytal report và vẫn sử dụng ProjectData :
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh4.2.jpg
Lần xem:	171
Size:		29.1 KB
ID:		7515

    Ở bước kế tiếp tui sẽ chọn cả 3 fields Product_id,Product_name,Product_price.
    Đã xong phần thiết kế report
    Theo truyền thống, ta lai tạo 1 button và 1 crytalReportViewer như mấy cái trên kia nhé
    Visual C# Code:
    1.         private void button1_Click(object sender, EventArgs e)
    2.         {
    3.             SqlConnection cnn;
    4.             string connectionString = null;
    5.             string sql = null;
    6.  
    7.             connectionString = "server=.\\sqlexpress;database=example;integrated security=true";
    8.             cnn = new SqlConnection(connectionString);
    9.             cnn.Open();
    10.             sql = "SELECT Product_id,Product_name,Product_price FROM Product";
    11.             SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
    12.             DataSet1 ds = new DataSet1();
    13.             dscmd.Fill(ds, "Product");
    14.             MessageBox.Show(ds.Tables[1].Rows.Count.ToString());
    15.             cnn.Close();
    16.  
    17.             CrystalReport1 objRpt = new CrystalReport1();
    18.             objRpt.SetDataSource(ds.Tables[1]);
    19.             crystalReportViewer1.ReportSource = objRpt;
    20.             crystalReportViewer1.Refresh();
    21.  
    22.         }
    Cánh Chym ứ mỏi

  5. #5
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Tạo dynamic reports trong C#

    Mấy bài trước, chúng ta tạo report từ những database đã được chọn sẵn, bây giờ ta tạo report từ kết quả của các query SQL lúc runtime.
    Ta cũng tạo project winform và cũng thêm vào 1 DataSet như bài trên kia nhưng ko kết nối vào database nào cả. Trên Dataset, ta cũng thêm 1 datatable vào DataSet đó, trên Datatable ta tạo mấy cái column như sau:
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh5.1.jpg
Lần xem:	137
Size:		13.6 KB
ID:		7516

    Tạo thêm 1 cái crytal report như baì trước!
    Các bạn thực hiện như các bước ở các bài trên tớ làm, cũng sử dụng ProjectData và chọn tất cả cac column của cái Datatable vừa tạo nhá.
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh5.2.jpg
Lần xem:	139
Size:		34.3 KB
ID:		7517

    Bi giờ ta sẽ thiết kế 1 cài Form như bên giưới,report sẽ phụ thuộc vào cac queyry lúc runtime:
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Hinh5.3.jpg
Lần xem:	242
Size:		30.3 KB
ID:		7518

    Viết 1 hàm xử lý cho các query nhập vào :
    Visual C# Code:
    1. public string procesSQL()
    2.         {
    3.             string sql = null;
    4.             string inSql = null;
    5.             string firstPart = null;
    6.             string lastPart = null;
    7.             int selectStart = 0;
    8.             int fromStart = 0;
    9.             string[] fields = null;
    10.             string[] sep = { "," };
    11.             int i = 0;
    12.             TextObject MyText ;
    13.  
    14.             inSql = textBox1.Text;
    15.             inSql = inSql.ToUpper();
    16.  
    17.             selectStart = inSql.IndexOf("SELECT");
    18.             fromStart = inSql.IndexOf("FROM");
    19.             selectStart = selectStart + 6;
    20.             firstPart = inSql.Substring(selectStart, (fromStart - selectStart));
    21.             lastPart = inSql.Substring(fromStart, inSql.Length - fromStart);
    22.  
    23.             fields = firstPart.Split(',');
    24.             firstPart = "";
    25.             for (i = 0; i <= fields.Length - 1; i++)
    26.             {
    27.                 if (i > 0)
    28.                 {
    29.                     firstPart = firstPart + ", " + fields[i].ToString() + " AS COLUMN" + (i + 1);
    30.                     firstPart.Trim();
    31.  
    32.                     MyText = (TextObject) objRpt.ReportDefinition.ReportObjects[i+1];
    33.                     MyText.Text = fields[i].ToString();
    34.                 }
    35.                 else
    36.                 {
    37.                     firstPart = firstPart + fields[i].ToString() + " AS COLUMN" + (i + 1);
    38.                     firstPart.Trim();
    39.  
    40.                     MyText = (TextObject)objRpt.ReportDefinition.ReportObjects[i+1];
    41.                     MyText.Text = fields[i].ToString();
    42.                 }
    43.             }
    44.             sql = "SELECT " + firstPart + " " + lastPart;
    45.             return sql;
    46.         }

    Và viết code cho sư kiện của button :
    Visual C# Code:
    1.  private void button1_Click(object sender, EventArgs e)
    2.         {
    3.             SqlConnection cnn ;
    4.             string connectionString = null;
    5.             string sql = null;
    6.             connectionString = "data source=SERVER NAME;initial catalog=crystaldb;user id=USER NAME;password=PASSWORD;";
    7.             cnn = new SqlConnection(connectionString);
    8.             cnn.Open();
    9.             sql = procesSQL();
    10.             SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
    11.             DataSet1 ds = new DataSet1();
    12.             dscmd.Fill(ds, "Product");
    13.             objRpt.SetDataSource(ds.Tables[1]);
    14.             crystalReportViewer1.ReportSource = objRpt;
    15.             crystalReportViewer1.Refresh();
    16.         }

    À các bạn nhớ using mấy cái namespace cần thiết nhá
    Còn 1 điều nữa là mọi vi dụ đều dùng database ở bài đâu,khi chạy ví dụ thì các bạn nhớ chỉnh lại chuỗi kết nối cho phù hợp
    Attached Files Attached Files
    Cánh Chym ứ mỏi

  6. #6
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Tạo reports từ XML

    Nãy giờ ta mới chỉ tạo report từ database truyền thống, giờ sẽ chơi với 1 kiểu dữ liệu hiện đại hơn là XML cho nó máu
    Thật ra, sự khác nhau là không nhiều, chỉ khác là khi ta design report thì lúc chọn data sẽ là XML.
    Các bạn tạo 1 file XML là Produc.XML :
    XML Code:
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <DataSet1 xmlns="http://tempuri.org/DataSet1.xsd">
    3.   <Product>
    4.     <Product_ID>1</Product_ID>
    5.     <Product_Name>Product1</Product_Name>
    6.     <Product_Price>10</Product_Price>
    7.   </Product>
    8.   <Product>
    9.     <Product_ID>2</Product_ID>
    10.     <Product_Name>Product2</Product_Name>
    11.     <Product_Price>12</Product_Price>
    12.   </Product>
    13.   <Product>
    14.     <Product_ID>3</Product_ID>
    15.     <Product_Name>Product3</Product_Name>
    16.     <Product_Price>15</Product_Price>
    17.   </Product>
    18.   <Product>
    19.     <Product_ID>4</Product_ID>
    20.     <Product_Name>Product4</Product_Name>
    21.     <Product_Price>5</Product_Price>
    22.   </Product>
    23.   <Product>
    24.     <Product_ID>5</Product_ID>
    25.     <Product_Name>Product5</Product_Name>
    26.     <Product_Price>7</Product_Price>
    27.   </Product>
    28. </DataSet1>

    Khi design report, ta sẽ chọn Create new connection->ADO.NET rồi chọn đến file XML này nhá, công việc còn lại ko khác gì bài đầu tiên : (Hình đính kèm)
    Attached Thumbnails Attached Thumbnails Hinh6.1.jpg  
    Cánh Chym ứ mỏi

  7. #7
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Mặc định Xuất kết quả report ra Excel,PDF

    Đọc mấy bài ở trên các bạn chắc đã nắm đc sơ sơ về crytal report rùi, giờ nói thêm về việc trích xuất ra các định dạng của Excel hoặc PDF
    Các bạn cỏ thể sử dụng ExportOptions để tùy chỉnh các định dạng trích xuất
    Quay lại bài đầu tiên, ta thêm 2 cái button nữa,sau khi đã tạo và hiển thị thành công report, ta có thể export ra pdf hoặc excel
    Đây là export ra 1 file excel (file test.xls sẽ dc tạo ở ổ C)
    Visual C# Code:
    1.             {
    2.                 ExportOptions CrExportOptions;
    3.  
    4.                 DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
    5.                 ExcelFormatOptions CrFormatTypeOptions = new ExcelFormatOptions();
    6.                 CrDiskFileDestinationOptions.DiskFileName = "c:\\test.xls";
    7.                 CrExportOptions = cryRpt.ExportOptions;
    8.                 CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    9.                 CrExportOptions.ExportFormatType = ExportFormatType.Excel;
    10.                 CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
    11.                 CrExportOptions.FormatOptions = CrFormatTypeOptions;
    12.                 cryRpt.Export();
    13.             }
    14.             catch (Exception ex)
    15.             {
    16.                 MessageBox.Show(ex.ToString());
    17.             }
    Export ra pdf :
    Visual C# Code:
    1.             {
    2.                 ExportOptions CrExportOptions;
    3.                 DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
    4.                 PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
    5.                 CrDiskFileDestinationOptions.DiskFileName = "C:\\test.pdf";
    6.                 CrExportOptions = cryRpt.ExportOptions;
    7.                 {
    8.                     CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    9.                     CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
    10.                     CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
    11.                     CrExportOptions.FormatOptions = CrFormatTypeOptions;
    12.                 }
    13.                 cryRpt.Export();
    14.             }
    15.             catch (Exception ex)
    16.             {
    17.                 MessageBox.Show(ex.ToString());
    18.             }
    À, nhớ
    PHP Code:
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared
    Đã được chỉnh sửa lần cuối bởi dieucay555 : 08-09-2009 lúc 02:33 PM.
    Cánh Chym ứ mỏi

  8. #8
    Ngày gia nhập
    03 2009
    Bài viết
    44

    Cám ơn bạn rất nhiều.Mình thấy cách trình bày của bạn rất sinh động. Mặc dù mình chưa học đến phần này nhưng mình sẽ lưu trong bookmark để khi nào học đến là có thể tham khảo.

  9. #9
    Ngày gia nhập
    10 2006
    Nơi ở
    Bốn biển là nhà
    Bài viết
    36

    Bác dieucay555 cho em hỏi chút. Giả sử em muốn in cái hóa đơn, mà trong hóa đơn chỉ chứa tối đa là 10 loại mặt hàng(do khổ giấy in hóa đơn bị giới hạn).giờ em có 11 mặt hàng trong cái đơn hàng đó, bác cho em hỏi cách để mình chỉ in 10 mặt hàng trong đơn thứ nhất, rồi mặt hàng thứ 11 đó in sang tờ thứ 2
    thanks!
    ... Từ [0] và [1] họ đã tạo ra nhiều thứ cho những thằng ngu ngồi cãi nhau...

  10. #10
    Ngày gia nhập
    06 2008
    Bài viết
    6

    Trích dẫn Nguyên bản được gửi bởi phthinh Xem bài viết
    Bác dieucay555 cho em hỏi chút. Giả sử em muốn in cái hóa đơn, mà trong hóa đơn chỉ chứa tối đa là 10 loại mặt hàng(do khổ giấy in hóa đơn bị giới hạn).giờ em có 11 mặt hàng trong cái đơn hàng đó, bác cho em hỏi cách để mình chỉ in 10 mặt hàng trong đơn thứ nhất, rồi mặt hàng thứ 11 đó in sang tờ thứ 2
    thanks!
    Bạn in 6 mặt hàng trên hóa đơn thứ nhất, và 5 mặt hàng trên hóa đơn thứ 2
    Để làm cái này, bạn xây dựng 1 hàm (ex : print_option) quy đinh số dòng sẽ được in trên hóa đơn. Mặc định khi mỗi khi in là in thả mái, nhưng khi bấm chọn print_option thì phải theo điều kiên trên đó.
    ý tưởng là vậy đó, không biết là ok không.

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

  1. Dữ liệu trong Crystal Reports không Refresh lại là do đâu?
    Gửi bởi dmhntth trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 21-10-2012, 03:32 PM
  2. Crystal reports căn bản trong lập trình C# không cập nhật được dữ liệu
    Gửi bởi trinhminhkhang23 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 03-09-2011, 12:02 PM
  3. Lọc báo cáo có điều kiện bằng Crystal Reports?
    Gửi bởi 8xhamhoc trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 06-01-2011, 05:50 AM
  4. Database lỗi Unknown database connector error khi tạo Crystal Reports trong vs 2010
    Gửi bởi tdtanvn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 25-12-2010, 11:32 AM
  5. Cách lấy ngày hệ thống đưa vào crystal reports?
    Gửi bởi suka trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 28-09-2010, 12:16 PM

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