1. ใช้การประชุมแบบดูเพื่อรวมการเชื่อมโยงหลายตารางเข้าด้วยกัน
2. กรองข้อมูลผ่านคำสั่ง Sql
3. สร้างการเชื่อมโยงกับตารางหลัก-รอง
4. โปรดทราบว่าเมื่อแทรกรายงานย่อยลงในตาราง CrystalReport1 ต้องแน่ใจว่าได้เพิ่มฟิลด์ที่เกี่ยวข้องของ ตาราง master-slave ตั้งค่าไว้ ไม่เช่นนั้นจะเกิดปัญหาขึ้น
รหัสหลักจะเป็นดังนี้:
/// <summary>
/// ผูก CrystalReport
/// </สรุป>
/// <param name="strS">sql</param>
โมฆะส่วนตัว bdReport (สตริง strS)
-
oCR = CrystalReport1 ใหม่();
SqlConnection cnn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"]);
SqlDataAdapter cmd1 = new SqlDataAdapter(strS,cnn);
//สร้างและกรอกข้อมูล
DataSet2();
cmd1.Fill(ds,"meeting");
// SqlDataAdapter cmd2 = new SqlDataAdapter("select * from realplan โดยที่ rplanid in (เลือก top 10,000 planid จาก ("+sqlStr+") ตามลำดับตาม planid)", cnn);
SqlDataAdapter cmd2 = SqlDataAdapter ใหม่ (SqlIsOper, cnn);
cmd2.Fill(ds,"realplan");
//สร้างความสัมพันธ์ระหว่างตารางผู้เขียนและชื่อเรื่อง
ds.Relations.Add("โม",
ds.Tables["ประชุม"].คอลัมน์["planid"],
ds.Tables["realplan"].Columns["rplanid"]);
//ผูก ReportViewer
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
// ปิดการเชื่อมต่อ
cnn.ปิด();
}