| 一、前言   最近做的項(xiàng)目需要單據(jù)批量打印的功能,優(yōu)先想到用RDLC來實(shí)現(xiàn)。經(jīng)過Visual Studio幾個(gè)版本的發(fā)展后,RDLC愈發(fā)成熟,操作方式也變得簡(jiǎn)潔,相比vs2005的版本,有質(zhì)的提升,不過仍有一下幾點(diǎn)缺憾: 1、內(nèi)置函數(shù)不支持C#,只支持Visual Basic 2、不支持asp.net MVC,支持webForm和winForm 3、VS2008及以下版本開發(fā)WebForm時(shí),不建議使用RDLC,因?yàn)樯傻膱?bào)表樣式不兼容Chrome瀏覽器。 如果未來時(shí)間充裕,我將會(huì)把RDLC一系列應(yīng)用實(shí)例分享出來。閑話少說,言歸正傳。 二、測(cè)試數(shù)據(jù) --訂單表 create table fcWorder ( id int identity(1,1), ordercode varchar(50),--訂單號(hào) ordername varchar(50),--訂單名字 opername varchar(50),--經(jīng)手人 comname varchar(50),--客戶名稱 createtime datetime,--訂單日期 barcode image--條形碼,預(yù)留字段。 ) --訂單明細(xì) create table fcwOrderDetails ( id int identity(1,1), ordercode varchar(50),--訂單號(hào) PRocode varchar(50),--產(chǎn)品編號(hào) proname varchar(50),--產(chǎn)品名稱 promodel varchar(50),--產(chǎn)品型號(hào) pronum int --訂購數(shù)量 ) --測(cè)試數(shù)據(jù) insert into fcwOrder(ordercode,ordername,opername,comname,createtime) values('order001','訂單一','張三一','客戶一','2014-07-01') insert into fcwOrder(ordercode,ordername,opername,comname,createtime) values('order002','訂單二','張三二','客戶二','2014-07-02') insert into fcwOrder(ordercode,ordername,opername,comname,createtime) values('order003','訂單三','張三三','客戶三','2014-07-03') insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order001','pro0011','產(chǎn)品一一','長(zhǎng)1寬1',11) insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order001','pro0012','產(chǎn)品一二','長(zhǎng)1寬2',12) insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order002','pro0021','產(chǎn)品二一','長(zhǎng)2寬1',21) insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order002','pro0022','產(chǎn)品二二','長(zhǎng)2寬2',22) insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order003','pro0031','產(chǎn)品三一','長(zhǎng)3寬1',31) insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order003','pro0032','產(chǎn)品三二','長(zhǎng)3寬2',32) insert into fcwOrderDetails(ordercode,procode,proname,promodel,pronum) values('order003','pro0033','產(chǎn)品三三','長(zhǎng)3寬3',33) --統(tǒng)一訂單明細(xì) select o.id as orderid,o.ordercode,o.opername,o.ordername,o.comname,o.createtime,o.barcode, d.id as detailid,d.ordercode detailordercode,d.procode,d.proname,d.promodel,d.pronum from fcwOrder o join fcwOrderDetails d on d.ordercode=o.ordercode 三、編碼實(shí)現(xiàn) 提示:本案例是屬于winform程序,原理上操作RDLC部分后臺(tái)代碼也可用于webform 開發(fā)環(huán)境:Visual Studio 2012 , Sql server 2012 |
| 3、【配置數(shù)據(jù)集】將工具箱中的TableAdapter拖入到數(shù)據(jù)集設(shè)計(jì)器中,配置數(shù)據(jù)庫連接后,并將以下語句裝載到表中: select o.id as orderid,o.ordercode,o.opername,o.ordername,o.comname,o.createtime,o.barcode, d.id as detailid,d.ordercode detailordercode,d.procode,d.proname,d.promodel,d.pronum from fcwOrder o join fcwOrderDetails d on d.ordercode=o.ordercode 右鍵單擊已經(jīng)生成的TableAdapter,選擇屬性,將名稱改為Order |