이것은 일반적인 질문 일 수 있지만 검색 후 해결 방법을 찾지 못했습니다. C#으로 Crystal Report를 사용하여보고합니다. 하위 보고서에 몇 가지 문제가 있습니다. Order 및 OrderDetail에 대한 월간 보고서를 만들고 싶습니다. 나는 다음 코드에 따라 그것을했는데, 실행하면 하위 보고서에 "Report has no table"예외가 발생합니다. 너 나 좀 도와 줄 수있어?크리스탈 보고서 하위 보고서에 테이블 예외가 없습니다.
rpt.SetDataSource(dsOrder);
:
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
죄송합니다, 도와 드릴 수 없습니다. rpt.SetDataSource (dsOrder); 반환 된 테이블의 순서가 보고서/포함 된 보고서의 순서와 같으면 문제를 해결할 수 있어야합니다. – Lan
당신은 RpOrderDetail sub = new RpOrderDetail()을 가지고 있습니다. 하지만 런타임에 하위 보고서를 추가하려고 할 때 사용하지 않습니까? – Lan