Fast Report-關連式對話框查詢
在「Fast Report」中,若用在「AP」,
可以使用它內建的「對話框查詢」做查詢、過濾資料後產生報表,
而「對話框 」的資料可以自行建立連動的「DataSource」或連原報表的「DataSource」。
不過,要如何做到關連式對話框查詢呢?
以下有簡單的例子:
我們想做的就是可以先選「年度」、「學期」後,
依「年度」、「學期」的資料再查詢「班級名稱」,
最後利用「班級名稱」的資料查詢「課程名稱」。
做法:
1-要建立各自的「DataSource」-「年度」、「學期」、「班級名稱」、「課程名稱」。
2-在「班級名稱」、「課程名稱」的「DataSource」下參數條件,將「年度」、「學期」的值帶入
3-建立不同的「ComboBox」連接「年度」、「學期」、「班級名稱」、「課程名稱」。
年度-ComboBox1、學期-ComboBox2、班級名稱-ComboBox3、課程名稱-ComboBox4
4-在「ComboBox」的事件下「ComboBox3.FillData(); 」即可將產生的資料填入「班級名稱」、「ComboBox4.FillData(); 」即可將產生的資料填入「課程名稱」。
SQL:
ComboBox1 select distinct ClassYear from tClass ComboBox2 select Description from dbSystem.dbo.tSysCode ComboBox3 select tCI.ClassName from tClass tCI left join tSysCodeTable tST on tST.code=tCI.ClassSemester where ClassYear=@p1 and tST.ClassSemester =@p2 ComboBox4 select tCI.ClassName,tCC.AClassName from tClassCus tCCS inner join tClass tCI on tCI.ClassID=tCCS.ClassID inner join tClassCourses tCC on tCC.SemCourseID=tCCS.SemCourseID where tCI.ClassName=@p1
CODE
namespace FastReport { public class ReportScript { private void ComboBox1_TextChanged(object sender, EventArgs e) { ComboBox3.FillData(); } private void ComboBox2_TextChanged(object sender, EventArgs e) { ComboBox3.FillData(); } private void ComboBox3_TextChanged(object sender, EventArgs e) { ComboBox4.FillData(); } } }
自我LV~