第一個窗體:
得到用戶查詢dataset後的dataview後傳給第二個窗體(打印預覽窗體)
第二個窗體得到這個dataview(dv)後
private void print_Load(object sender, System.EventArgs e)
{
CrystalReport1 cr1=new CrystalReport1();
cr1.SetDataSource(dv);
this.crystalReportViewer1.ReportSource=cr1;
}
我新建了一個Dataset1,裡面放了三個關聯的表,沒有作關聯。然後在CrystalReport1.rpt 引入數據表時在裡面作了表關聯但是程序運行後,在水晶報表中看不到任何內容?
請問為何???
但是如果我用SQL做一個視圖,裡面關聯好這三個表,再把這個視圖放到Dataset1裡
再把Dataset1裡的視圖裡的數據放到水晶報表就一切OK
請問一下有沒有簡單一點的做法,因為我不可能每次有關聯表打印就建一個視圖!!!
多謝大家~~~~~~~~~

解决方案 »

  1.   

    補充一下:
    我在Dataset1中建好關聯,CrystalReport1.rpt 也建好關聯
    則什麼數據都出不來。
    如果我在Dataset1中建好關聯,CrystalReport1.rpt 不建關聯
    則只出來第一個表的字段的內容,關聯的它表內容無。
    如果我在Dataset1中和CrystalReport1.rpt 都不建關聯
    則也只出來第一個表的內容。
    如果我在Dataset1中使用視圖 CrystalReport1.rpt 不建關聯
    則一切正常得到所有dataview傳來的數據。
    請問我如何不用視圖而得到類似正常的效果呢????
      

  2.   

    DataSet裡的sql語句不管做不做關聯CrystalReport1.rpt都不出來數據,請問為何?