我设置水晶报表的数据源是已经连接的Dataset,在数据源里边,能显示出表里边的数据,但是我从字段资源管理器里边拉出来的字段值却都是空的,这个是怎么一回事儿?后台代码我就写了获得一个dataset(ds),把ds填充到CrystalReport2里边,在把CrystalReport2显示到报表crystalReportViewer1上,代码如下:
string AsnNo = config.configString; --接收一个参数
DataSet ds = Conn.SelectReceipt(AsnNo);--得到一个dataset
CrystalReport2 crp = new CrystalReport2();
crp.Refresh();
crp.Load(Application.StartupPath + "CrystalReport2.rpt");
crp.SetDataSource(ds);
this.crystalReportViewer1.ReportSource = null;
this.crystalReportViewer1.ReportSource = crp;
来个高手指点一下。谢谢了。。。。
C#水晶报表显示不出数据?
答案:2 悬赏:30 手机版
解决时间 2021-02-06 07:33
- 提问者网友:且恨且铭记
- 2021-02-05 21:02
最佳答案
- 五星知识达人网友:鸠书
- 2021-02-05 21:49
DataSet ds = Conn.SelectReceipt(AsnNo);
crp.Load(Application.StartupPath + "CrystalReport2.rpt");
crp.SetDataSource(ds);
在这三句前面设置断点看看AsnNo、crp和ds有没有值,是否为空;为空就是没获取到值。。。
报表内容自然不显示。。。
crp.Load(Application.StartupPath + "CrystalReport2.rpt");
crp.SetDataSource(ds);
在这三句前面设置断点看看AsnNo、crp和ds有没有值,是否为空;为空就是没获取到值。。。
报表内容自然不显示。。。
全部回答
- 1楼网友:枭雄戏美人
- 2021-02-05 21:58
if (c.dsrpt.tables.contains("combase"))
{
c.dsrpt.tables.remove("combase");
}
dt.tablename = "combase";
c.dsrpt.tables.add(dt);
c是报表。dt就是你的数据表
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯