应用场景:
譬如打印一个标签要求文本串超过10个字节(一个汉字或全角字符算2个字节)则以12px字体大小,否则以22px字体大小
PS:汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符
此时由于RDLC没有现成的函数可用(有个计算字符数的函数Len功能类似,但不满足上面需求),所以需要用VB脚本来实现:
Function GetByteCount(str As String) As Integer
Dim i As Integer
Dim s As String
Dim ret As Integer
For i = 1 To Len(str)
s = Mid(str, i, 1)
If Len(Hex$(AscW(s))) > 2 Then
ret = ret + 2
Else
ret = ret + 1
End If
Next i
Return ret
End Function
这段代码需要嵌入到RDLC文件中,菜单【Report】->【Report Properties...】选中【代码】页签:
在应用的单元格使用表达式: