คุณต้องการออกรายงาน ตาม 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;
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;
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;
CrystalReport1 cr = new CrystalReport1();
cr.SetDatabaseLogon("sa","1234");
cr.RecordSelectionFormula = "{Products.ProductID} = " + Convert.ToInt32 (textBox1 .Text) + "";
crystalReportViewer1.ReportSource = cr;
No comments:
Post a Comment