找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] QRcode乱码

wu8829
中级会员   /  发表于:2014-11-25 16:53:00
11#
已经测试了,如果Value值是常量,例如:“中华人民共和国”,则扫码正确,如果Value的值是表达式,例如某个报表变量,则是乱码
回复 使用道具 举报
wu8829
中级会员   /  发表于:2014-11-25 17:25:00
12#
BarCode的Value为引用的参数(Company_Name)


我在后台对这个参数赋值:
Print_Temp.Report.ReportParameters[1].DefaultValue.Values.Add(Session.Contents["User_Department"].ToString());

预览报表,扫出来就是乱码
回复 使用道具 举报
wu8829
中级会员   /  发表于:2014-11-25 18:46:00
13#
经过多次测试,不是代码的问题,具体测试方法如下:

Value为常量值,例如:中华人民共和国   【正确扫描,无乱码】
Value为变量,例如:Parameters!Goods_IDB.Value 【正确扫描,无乱码】
Value为变量+常量组合,例如:="供应商:" + Parameters!Goods_IDB.Value  【正确扫描,有乱码
Value为变量+常量组合,带转换函数,例如:=ToString("供应商:")+ ToString(Parameters!Goods_IDB.Value)   【正确扫描,有乱码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-25 19:26:00
14#
回复 13楼wu8829的帖子

通过 C# 台代码设置没有重现问题:


QRCode 表达式:
=“测试:”  + Parameters!qrp.Value

C#代码:
  1.             PageReport pr = new PageReport(new System.IO.FileInfo(this.Server.MapPath("bb\\Enquiry_Report.rdlx")));
  2.             Session.Contents["test"] = "中华人民共和国";
  3.             pr.Report.ReportParameters[0].DefaultValue.Values.Add(Session.Contents["test"].ToString());
  4.             pr.Run();
  5.             this.WebViewer1.Report = pr;
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
wu8829 + 5 发现了问题的终结点

查看全部评分

回复 使用道具 举报
wu8829
中级会员   /  发表于:2014-11-25 22:36:00
15#
我终于发现问题的根结所在,不知道算不算BUG,如果Value的值为常量+变量,例如我之前写的是:="供应商:" + Parameters!Goods_IDB.Value  【正确扫描,有乱码】

这句代码本身没有错误,但是有一个细节,很难很难很难很难发现,那就是常量的引号。一般情况下,包括写CS的代码,字符型常量都是用英文状态下的引号 + 变量,这恰恰就是有乱码的根结,浪费了大把的时间啊!!!!!

所以我把供应商的引号改成中文状态下的引号,就没乱码了。我也测试过:如果中文的上引号和下引号调换顺序会不会有乱码呢? 答案是:没有乱码

工程师,不信您可以试试!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-26 11:06:00
16#
回复 15楼wu8829的帖子

“所以我把供应商的引号改成中文状态下的引号,就没乱码了。”关于这句话我有些不理解,请问是如何更改的。我做了以下测试:
中文:“测试:”
英文:"测试:"

我这边直接在VS报表设计器里粘贴到 QRCode 的Value中都不会出现问题。也许您可以直接把出错表达式的模板发上来我看能否重现。
或者是您那边使用场景和我的不同,没有和我交流?
谢谢
回复 使用道具 举报
wu8829
中级会员   /  发表于:2014-11-26 12:03:00
17#
没事了,我已经弄好了,就不再纠结这个问题了。谢谢工程师,此帖可以封帖了!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-26 14:25:00
18#
回复 17楼wu8829的帖子

好的,我先关闭这个帖子了。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢

评分

参与人数 1满意度 +5 收起 理由
wu8829 + 5 谢谢

查看全部评分

回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部