1、我使用DataSet作为数据源,并且将字段拖拽到报表中,但怎么也显示不了数据。
2、我在报表Form中也设置好了数据源:
this.Text = "封头标签打印!"; //设置选项卡文本
quality.rpt.标签产品 rpt03 = new quality.rpt.标签产品(); //创建 标签产品 报表对象
rpt03.SetDataSource(DataSetRpt); //指定报表数据源对象
this.RptView.ReportSource = rpt03;//为报表界面指定报表对象
3、同时也获取了数据:
//获取到 质保编号
string quaid = GridQual.CurrentRow.Cells["质保编号"].Value.ToString();
//获取到 形状
string shape = GridQual.CurrentRow.Cells["形状"].Value.ToString();
//获取到 指令号
string zhilingID = GridQual.CurrentRow.Cells["指令号"].Value.ToString();
//创建 报表对象,并指定是哪个报表
RptForm rf = new RptForm("标签");
//为报表的数据源绑定数据
rf.DataSetRpt = LoadNewPrintData(quaid, shape, zhilingID);
//打开报表界面
rf.Show(this.DockPanel);
这是具体填充数据的代码:
private quality.DS.DataSetRpt LoadNewPrintData(string dicid, string shape,string zhilingID)
{
//创建DataSet数据表对象
DS.DataSetRpt RS = new DS.DataSetRpt();
//按照质保编号从 视图质保产品单 中查询到所有数据 ,并填充到创建的DataSet数据表对象的 “视图质保产品单”中
string sqlstr = "select * from 视图质保产品单 where 质保编号 = '" + dicid + "'";
SqlHelper.FillDataset(数据.连接, CommandType.Text, sqlstr, RS, new string[] { "视图质保产品单" });
sqlstr = "select * from 质保产品明细 where 质保编号 = '" + dicid + "' and 区分=0";
SqlHelper.FillDataset(数据.连接, CommandType.Text, sqlstr, RS, new string[] { "质保产品明细" });
sqlstr = "select * from 形状 where 形状 ='" + shape + "'";
SqlHelper.FillDataset(数据.连接, CommandType.Text, sqlstr, RS, new string[] { "形状" });
//根据指令号获取订单ID
quality.工艺主表 zhubiao = qualDbContext.工艺主表.FirstOrDefault(b => b.指令号 == zhilingID);
//根据 订单ID 获取到订单信息 和 询价编号
quality.销售订单明细 dingdan = qualDbContext.销售订单明细.FirstOrDefault(b => b.编号 == zhubiao.订单ID);
//销售订单明细中的询价编号 ,并分割询价编号
string[] listPrice = dingdan.询价编号.Split('-');
//前者为询价单中的询价编号
string xunjiaID = listPrice[0];
//后者为询价单中的单件号
string danjianhao = listPrice[1];
sqlstr = "select * from 销售订单明细 where 编号 ='" + zhubiao.订单ID + "'";
SqlHelper.FillDataset(数据.连接, CommandType.Text, sqlstr, RS, new string[] { "销售订单明细" });
sqlstr = "select * from 工艺主表 where 指令号 ='" + zhilingID + "'";
SqlHelper.FillDataset(数据.连接, CommandType.Text, sqlstr, RS, new string[] { "工艺主表" });
//按照订单中的询价编号,分割成询价单中的询价编号和单件号,然后根据询价编号和单件号获取到询价单信息
sqlstr = "select * from 询价单明细 where 询价编号 ='" + xunjiaID + "' and 单件号 =" + danjianhao;
SqlHelper.FillDataset(数据.连接, CommandType.Text, sqlstr, RS, new string[] { "询价单明细" });
//填充好需要的数据后返回表数据对象
return RS;
}
我在报表数据的地方打了断点调试,我这个DataSet里的各个table都是有数据的,但不知道为什么就是显示不了绑定的DataSet的数据,字段都是一个个从数据库专家拖拽过去的