找回密码
 立即注册

QQ登录

只需一步,快速开始

小括号呀

最新发帖
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-10-18 09:31:01
11#
小括号呀 发表于 2016-10-17 18:24
不好意思 公司项目应该不能上传。。谢谢您  函数写好 报表调用需要改什么属性吗

函数调用主要由以下步骤要注意:

1. 在项目中添加 转换类,注意命名空间;
2. 在报表中某一单元格内调用类,格式:= Code.类实例化名称.函数名(参数);
3. 在页面中生成报表时,将转换类添加到报表中;pagereport.Report.Classes.Add(new GrapeCity.ActiveReports.PageReportModel.CodeClass() { ClassName = "WebApplication50.DigitToChnText1", InstanceName = "dtc1" });

评分

参与人数 1满意度 +5 收起 理由
小括号呀 + 5 赞一个!

查看全部评分

回复 使用道具 举报
小括号呀
初级会员   /  发表于:2016-10-18 10:38:18
12#
Lenka.Guo 发表于 2016-10-18 09:31
函数调用主要由以下步骤要注意:

1. 在项目中添加 转换类,注意命名空间;

1.namespace LinkedYou.Tools
{  public class DigitToChnText{}}内容是赋值过来的
2.=Code.dtc1.Convert( [@test1] ,true)  test1是设置的一个定值的参数
3.  pageReport.Report.Classes.Add(new GrapeCity.ActiveReports.PageReportModel.CodeClass() { ClassName = "LinkedYou.Tools.DigitToChnText", InstanceName = "dtc1" });
麻烦帮忙看一下这样有什么问题嘛  运行的时候什么都不显示
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-10-18 17:20:47
13#
从您描述的思路来看是没有问题的,您可以先调试看看,或是做一个简单的能重现问题的Demo上传就行。
回复 使用道具 举报
小括号呀
初级会员   /  发表于:2016-10-19 10:27:54
14#
Lenka.Guo 发表于 2016-10-18 17:20
从您描述的思路来看是没有问题的,您可以先调试看看,或是做一个简单的能重现问题的Demo上传就行。

我重写写的例子上可以实现的。。。可是程序中就是实现不了。。。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-10-19 14:42:19
15#
小括号呀 发表于 2016-10-19 10:27
我重写写的例子上可以实现的。。。可是程序中就是实现不了。。。

您使用的是MVC4还是MVC5,用的是HTML5Viewer 还是webViewer控件?

评分

参与人数 1满意度 +5 收起 理由
小括号呀 + 5 赞一个!

查看全部评分

回复 使用道具 举报
小括号呀
初级会员   /  发表于:2016-10-19 15:45:40
16#
Lenka.Guo 发表于 2016-10-19 14:42
您使用的是MVC4还是MVC5,用的是HTML5Viewer 还是webViewer控件?

你好 用的MVC4 HTML5Viewer
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-10-19 17:47:39
17#
了解,那我在这边做一个简单的MVC4的大小写金额转换的demo。

评分

参与人数 1满意度 +5 收起 理由
小括号呀 + 5 赞一个!

查看全部评分

回复 使用道具 举报
小括号呀
初级会员   /  发表于:2016-10-20 09:13:09
18#
Lenka.Guo 发表于 2016-10-19 17:47
了解,那我在这边做一个简单的MVC4的大小写金额转换的demo。

谢谢
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-10-20 11:51:41
19#
您好,
我采用了另外一个方法,直接在报表中编写转换脚本,在单元格中通过 Code.ConvertToRMB()调用:报表模板:



脚本代码:


  1. Function ConvertToRMB(ByVal inputString As String) As String
  2.         Dim numList As String = "零壹贰叁肆伍陆柒捌玖"
  3.         Dim rmbList As String = "分角元拾佰仟万拾佰仟亿拾佰仟万"
  4.         Dim number As Double = 0
  5.         Dim tempOutString As String = ""
  6.         number = Double.Parse(inputString)


  7.         Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString()
  8.         Dim tempNmberLength As Integer = tempNumberString.Length
  9.         Dim i As Integer = 0

  10.         While i < tempNmberLength  
  11.                 Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1))
  12.                 Dim oneNumberChar As String = numList.Substring(oneNumber, 1)
  13.                 Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength - i - 1, 1)
  14.                 If Not (oneNumberChar = "零") Then
  15.                         tempOutString += oneNumberChar + oneNumberUnit
  16.                 Else
  17.                         If oneNumberUnit = "亿" OrElse oneNumberUnit = "万" OrElse oneNumberUnit = "元" OrElse oneNumberUnit = "零" Then
  18.                                 While tempOutString.EndsWith("零")
  19.                                         tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
  20.                                 End While
  21.                         End If
  22.                         If oneNumberUnit = "亿" OrElse (oneNumberUnit = "万" AndAlso Not tempOutString.EndsWith("亿")) OrElse oneNumberUnit = "元" Then
  23.                                 tempOutString += oneNumberUnit
  24.                         Else
  25.                                 If Not tempOutString Is Nothing Then
  26.                                         Dim tempEnd As Boolean = tempOutString.EndsWith("亿")
  27.                                         Dim zeroEnd As Boolean = tempOutString.EndsWith("零")
  28.                                         If tempOutString.Length > 1 Then
  29.                                                 Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零")
  30.                                                 If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then
  31.                                                         tempOutString += oneNumberChar
  32.                                                 End If
  33.                                         Else
  34.                                                 If Not zeroEnd AndAlso Not tempEnd Then
  35.                                                         tempOutString += oneNumberChar
  36.                                                 End If
  37.                                         End If
  38.                                 End If

  39.                         End If
  40.                 End If
  41.                 i += 1

  42.         End While
  43.         If Not tempOutString Is Nothing Then
  44.                 While tempOutString.EndsWith("零")
  45.                         tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
  46.                 End While
  47.                 While tempOutString.EndsWith("元")
  48.                         tempOutString = tempOutString + "整"
  49.                 End While
  50.                 Return tempOutString
  51.         Else
  52.                 Return ""
  53.         End If
  54. End Function
复制代码





本帖子中包含更多资源

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

x

评分

参与人数 1满意度 +5 收起 理由
小括号呀 + 5 赞一个!

查看全部评分

回复 使用道具 举报
小括号呀
初级会员   /  发表于:2016-10-20 12:28:44
20#
Lenka.Guo 发表于 2016-10-20 11:51
您好,
我采用了另外一个方法,直接在报表中编写转换脚本,在单元格中通过 Code.ConvertToRMB()调用:报表 ...

您好 请问一下是不支持后台的嘛 这样的话是每个报表都要写一下脚本嘛
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部