在做一个水晶报表的项目,原来是从数据库里读取一个DataSet然后填充,现在想用对象来填充不知如何实现。
static List<Depart> depart = new List<Depart>();想把这个depart对象作为数据源,请问怎么实现呢。
另外:数据表里的数据是从depart 里插入的,一个depart对象对应一条记录。
static List<Depart> depart = new List<Depart>();想把这个depart对象作为数据源,请问怎么实现呢。
另外:数据表里的数据是从depart 里插入的,一个depart对象对应一条记录。
推模式灵活 可以自定义要查询的记录 private void Form1_Load(object sender, EventArgs e)
{
ZyDataSet zset = new ZyDataSet();
this.everyDayOneYearTableAdapter1.Fill(zset.EveryDayOneYear);
ZyCrystalReport report = new ZyCrystalReport();
report.SetDataSource(zset); this.crystalReportViewer1.ReportSource = report;
} private void 自定义查询ToolStripMenuItem_Click(object sender, EventArgs e)
{ ZyDataSet zset = new ZyDataSet(); ZyCrystalReport report = new ZyCrystalReport(); SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=sa;database=master"); SqlCommand comm = conn.CreateCommand();
comm.CommandText = "select * from EveryDayOneYear where id>100"; //为了填充DataSet
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = comm;
adp.Fill(zset.EveryDayOneYear); report.SetDataSource(zset);
this.crystalReportViewer1.ReportSource = report; } private void 在类中更改ToolStripMenuItem_Click(object sender, EventArgs e)
{
ZyDataSet zset = new ZyDataSet();
this.everyDayOneYearTableAdapter1.selectcommand.CommandText = "select * from EveryDayOneYear where id<20";
this.everyDayOneYearTableAdapter1.Fill(zset.EveryDayOneYear); ZyCrystalReport report = new ZyCrystalReport();
report.SetDataSource(zset);
this.crystalReportViewer1.ReportSource = report; }但愿对你有用