0
比方說,我將一個DataSet定義爲「ReportDataSet.xsd」,其中一個表稱爲「employee」。我該如何去手動填寫這些信息,以便我可以將填充的DataSet返回到另一個函數,以便使用它來生成報告?這是我現在正在做的,但我不確定是否正確。手動填充數據集
ReportDataSet ds = new ReportDataSet();
ReportDataSet.employeeRow empRow = ds.employee.AddemployeeRow(
employeeId, name, dateOfBirth, Address, Phone
);
return ds;
這裏的問題: 我調試它,可以看到在VS2010的調試結果視圖中的數據,但水晶報表生成我使用DataSet(下)永遠是空白。
EmployeeReport rpt = new EmployeeReport(); //EmployeeReport.rpt
ReportDataSet rds = GetDataSet();
rpt.Load();
rpt.SetDataSource(rds);
我沒有使用查看器並立即將報告寫入PDF。生成的PDF具有模板(圖像等),但沒有數據。
FileStream fStream = new FileStream("c:\\quote.pdf", FileMode.CreateNew);
using (fStream)
{
MemoryStream oStream = (MemoryStream)rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
byte[] data = oStream.ToArray();
fStream.Write(data, 0, data.Length);
}
你收到任何類型的錯誤?什麼導致你認爲這是錯誤的是沒有數據顯示在報告上? – Bearcat9425
您確定要將報表數據源正確設置到此DataSet嗎?可能還會顯示該代碼。 – Bearcat9425
@ Bearcat9425我認爲是的。我只需從函數中獲取數據集,然後在報表對象上調用SetDataSource。 – rafale