C# Crystal Reports String parameter

การสร้าง  Crystal Reports  โดยใช้  String parameter โดยเข้ไปที่ CrystalReport (ตามรูปครับ)

httptheintelligenceproject.com1

เลือก Field Explorer

หลังจากนั้นเลือก Parameter Field จาก Field Explorer แล้ว click ขวาเลือก New (ตามรูป)

httptheintelligenceproject.com2

จากนั้น ใส่ข้อมูล Name and Prompting text

httptheintelligenceproject.com3

 

ก่อนที่เราจะสร้าง parameter field เราต้องมี selection formula สำหรับ Crystal Reports parameter ก่อนนะครับ วิธรการสร้าง Click ขวา ใน Crystal Reports เลือก REPORT -> SELECTION FORMULA -> RECORD .

httptheintelligenceproject.com7

 

แล้วก็เลือก Record ตาม List นะครับ

จากนั้นเลือก form (Form1.cs) แล้วลาก CrystalReportViewer control ไปใส่ในฟอร์มนะครับ

httptheintelligenceproject.com5

 

ใช้ Namespace ตามนี้นะครับ

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

Code ตัวอย่างครับ

using System;

using System.Windows.Forms;

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

namespace WindowsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            ReportDocument cryRpt = new ReportDocument();

            cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\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(); 

        }

    }

}

 

 

 

 

Leave a Reply