這可能是一個常見問題,但是我在Google搜索後無法找到解決方案。我使用Crystal Report和C#來進行報告。我在子報告中遇到了一些問題: 我想爲Order和OrderDetail創建月度報告。我按照以下代碼完成了它,但是在運行時,它會在子報告中引發異常「報告沒有表格」。你可以幫我嗎?水晶報表子報表沒有表格異常
RpOrder rpt = new RpOrder();
RpOrderDetail sub = new RpOrderDetail();
DataSet dsOrder = new dsOrder();
DataSet dsOrderDetail = new dsOrderDetail();
dsOrder.Tables.Add(new DataTable());
dsOrder.Tables.Add(new DataTable());
dsOrderDetail.Tables.Add(new DataTable());
foreach(Order nx in listNX)
{
dsOrder.Tables[0].Rows.Add(
new object[]{nx.NgayOrder,nx.GetIsNhapString(),nx.NguoiGiaoHang,nx.TongTien}
);
foreach(OrderDetail ct in nx.ChiTiets)
{
dsOrder.Tables[1].Rows.Add(new object []{
ct.HangHoa.TenHangHoa,
ct.HangHoa.MaHang,
ct.DonGia,
ct.SoLuong,
ct.SoLuong * ct.DonGia
});
}
}
rpt.SetDataSource(dsOrder.Tables[0]);
rpt.Subreports[0].SetDataSource(dsOrder.Tables[1]);
crystalReportViewer1.ReportSource = rpt;
我都嘗試,但沒有改變。希望獲得更多幫助 – Andiana 2014-09-30 13:55:06
對不起,我忍不住。 rpt.SetDataSource(dsOrder);應該能夠解決問題,如果返回的表的順序與報告/子報表的順序相同。 – Lan 2014-09-30 15:20:21
你有RpOrderDetail sub = new RpOrderDetail();但你沒有使用它你是否試圖在運行時添加子報表? – Lan 2014-09-30 15:21:17