Monday, 8 November 2010

Crystal Report - P2

String parameter
Ở 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 :
C# - Crystal Report - myonl.net
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 :
C# - Crystal Report - myonl.net
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á C# - Crystal Report - myonl.net
C# - Crystal Report - myonl.net
Thiết kế form như trong hình :
C# - Crystal Report - myonl.net
Bi giờ ta viết code cho sự kiện của nút show

private void button1_Click(object sender, EventArgs e)
        {
            ReportDocument cryRpt = new ReportDocument();
            cryRpt.Load(@"C:\Documents and Settings\Qu@n Bom\My Documents\Visual Studio 2008\Projects\Example\Example\CrystalReport1.rpt");


            ParameterFieldDefinitions crParameterFieldDefinitions;
            ParameterFieldDefinition crParameterFieldDefinition;
            ParameterValues crParameterValues = new ParameterValues();
            ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();


            crParameterDiscreteValue.Value = textBox1.Text;
            crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
            crParameterFieldDefinition = crParameterFieldDefinitions["Customername"];
            crParameterValues = crParameterFieldDefinition.CurrentValues;


            crParameterValues.Clear();
            crParameterValues.Add(crParameterDiscreteValue);
            crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);


            crystalReportViewer1.ReportSource = cryRpt;
            crystalReportViewer1.Refresh();


        }

No comments:

Post a Comment