手动填充数据集

本文关键字:数据集 填充 | 更新日期: 2023-09-27 18:16:58

假设我有一个定义为"ReportDataSet "的数据集。使用名为"employee"的单个表。我如何去手动填充这个,这样我就可以返回填充的数据集到另一个函数,将使用它来生成一个报告?这是我现在正在做的,但我不确定它是否正确。

ReportDataSet ds = new ReportDataSet();
ReportDataSet.employeeRow empRow = ds.employee.AddemployeeRow(
   employeeId, name, dateOfBirth, Address, Phone
);
return ds;

问题是:我调试它,可以在VS2010的调试器结果视图中看到数据,但是我使用数据集生成的水晶报告(下面)总是显示为空白。

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);
}

手动填充数据集

我的问题是由于我用来填写数据集(外键)的数据不一致引起的。