winform,水晶报表制作


1、安装最新的 SP:(SP 29 示例 – https://origin.softwaredownloads.sap.com/public/file/0020000001636412020)

 2、新建CrystalReport.rpt报表

 3、拖控件,新建参数字段,赋值

比如新建字段Sex,赋值: CrystalReport2 rp = new CrystalReport2();  rp.SetParameterValue("Sex", 值);//性别  crystalReportViewer1.ReportSource = rp;//绑定

4、报表条形二维码:

①、下载128字体;

②、添加公式字段名(可随意起,比如Code128);

③、右键字段名(Code128)——>编辑——>新建报表自定义函数(GetCode128B)——>语法改为Basic语法,然后调用函数(下面附有代码)——>赋值(注意将语法改为Crystal语法再赋值)

Function GetCode128B( inputData As string ) As String

Dim checksum as Number
Dim intPosition as Number
Dim ii as Number
Dim strSpChr as String

checksum = 104

for ii = 0 to Len(inputData)-1
intPosition = ii + 1
strSpChr = Mid(inputData, intPosition, 1)

if Asc(strSpChr) >= 32 then
checksum = checksum + (Asc(strSpChr) - 32) * intPosition
else
checksum = checksum + (Asc(strSpChr) + 64) * intPosition
end if
next


checksum = checksum mod 103


if checksum < 95 then
checksum = checksum + 32
else
checksum = checksum + 100
end if


GetCode128B ="ì" +inputData+chr(checksum) +"?"

End Function

赋值:选择自定义函数——>双击自定义函数——>赋值后——>将公式字段控件拖入报表中,点击拖入的控件右键设置对象格式——>字体选择Code 128即可。

 

报表中托的横杠运行后不显示:把打印时移动到节点的底部勾去掉即可。

 详细资料部分需分为几组数据展示时,点击详细资料右键适应节即可。