2 a12116 A12116 于 2015.06.10 11:20 提问

C#水晶报表不显示数据?

数据库是sqlite,代码如下,什么推模式拉模式的不懂呀。。

SQLiteConnection conn = new SQLiteConnection("Data Source=equipment.db");
conn.Open();
SQLiteCommand comm = new SQLiteCommand("select eqName,model,danwei,count,price,total from storeA", conn);
SQLiteDataAdapter adapter = new SQLiteDataAdapter(comm);
DataSet set = new DataSet();
adapter.Fill(set,"storeA");
ReportDocument myReport = new ReportDocument();
string reportPath = Application.StartupPath + "\CrystalReport1.rpt";
myReport.Load(reportPath);
//绑定数据集
myReport.SetDataSource(set.Tables[0].DefaultView);

        cReportViewer1.ReportSource = myReport;
        cReportViewer1.RefreshReport();
        conn.Close();

刚刚接触这玩意,设计的时候已经加了表头字段,如图
设计

运行结果如下;
运行结果

数据库里面storeA表是有数据的:
图片说明

2个回答

Tiger_Zhao
Tiger_Zhao   Rxr 2015.06.10 11:29
已采纳

A)列头的文本要加在报表头或新建的一个分组头上。
B)详细资料中没有添加/关联字段,文本是不会显示字段值的。
C)确认一下 set.Tables[0].DefaultView 里面的行数。

Tiger_Zhao
Tiger_Zhao 回复石之审判: 直接在工程种设计的报表,为什么还要Load(reportPath)
2 年多之前 回复
A12116
A12116 我从“数据库字段”点右键-添加进来,就自动生成的俩啊,我没做其他操作。。。要手动绑定?
2 年多之前 回复
Tiger_Zhao
Tiger_Zhao 回复石之审判: 设计报表拖字段的时候没有用相同的数据源吗?
2 年多之前 回复
A12116
A12116 回复Tiger_Zhao: 不行啊,还是那样,我又把Tables[0]去了,也还是一样
2 年多之前 回复
Tiger_Zhao
Tiger_Zhao 试试myReport.SetDataSource(set.Tables[0]);,不要DefaultView
2 年多之前 回复
A12116
A12116 我把列头放到报表头了,DefaultView的Count=3没问题,关联的话。。我是在添加字段的时候自动出现一上一下的两个文本,这样算是关联了吧?可是还不行呀
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.10 11:30

目测没有取到数据,下个断点调试下,看看返回了数据没有

A12116
A12116 取到了啊,断点看过的,dataset是有的
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片