VS2010的水晶报表显示不了数据,使用数据库可以,但使用DataSet就显示不了,调试的时候都是存在数据的

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的数据,字段都是一个个从数据库专家拖拽过去的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值