Thursday, January 5, 2012

ผูก parameter field ใน crystal report กับ field ของฐานข้อมูล

คุณต้องการออกรายงาน ตาม MemberId ที่ผ่านทาง parameter Prmt_MemberId ใช่ใหม ? ครับ
ผมมักใช้สามวิธีดังนี้:


วิธีที่ 1: pass parameter ตอน design-time
 
ใน Crystal report ออกแบบดังรูป {ระบุ formula ตอนออกแบบ}
 
ลองคลิกปุ่ม Show Formula จะเห็น script เป็น {Products.ProductID} = {?pProID} จากนั้นลอง preview ดู
 
ใน form view report ใส่โค้ดดังนี้
             CrystalReport1 cr = new CrystalReport1();
             cr.SetParameterValue("pProID", Convert.ToInt32 (txtProID.Text));
             cr.SetDatabaseLogon("sa","1234");        
             crystalReportViewer1.ReportSource = cr;
 
วิธีที่ 2: pass parameter ตอน run-time {ไม่ต้องระบุ formula ตอนออกแบบ} เพียงใส่โค้ดเท่านั้น
             CrystalReport1 cr = new CrystalReport1();
             cr.SetParameterValue("pProID", Convert.ToInt32 (txtProID.Text));
             cr.SetDatabaseLogon("sa","1234");
             cr.RecordSelectionFormula = "{Products.ProductID} = {?pProID}";//สังเกตุเห็นว่า คำสั่ง formula อันเดียวกับที่เราออกแบบด้านบน
             crystalReportViewer1.ReportSource = cr;
 
 
วิธีที่ 3: ใช้ Formula ไปเลยครับ {ไม่ต้องสร้างมี parameter,ไม่ต้องระบุ formula ตอนออกแบบ}
             CrystalReport1 cr = new CrystalReport1();
             cr.SetDatabaseLogon("sa","1234");
             cr.RecordSelectionFormula = "{Products.ProductID} = " + Convert.ToInt32 (textBox1 .Text) + "";
             crystalReportViewer1.ReportSource = cr;
 

No comments:

Post a Comment