轉帖|使用教程|編輯:龔雪|2023-02-10 10:20:41.263|閱讀 154 次
概述:本文將為大家介紹在使用ActiveReports報表組件時如何應用腳本,歡迎下載最新版體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
ActiveReports 是一款專注于 .NET 和 .NET Core 平臺的報表控件。通過拖拽式報表設計器,可以快速地設計 Excel表格、Word文檔、圖表、數據過濾、數據鉆取、精準套打等類型報表,全面滿足 WinForm、ASP.NET、ASP.NET MVC、WPF 平臺中各種報表的開發需要。同時,通過豐富的 API 可以靈活的實現報表創建、加載和運行時的個性化自定義需求。
為了對來自數據源的數據進行進一步處理,或者根據字段數據對報表元素的格式進行特殊的設置,可以在設計區域的上方,點擊【腳本】選項卡,進入腳本編輯窗口,編寫自定義的腳本函數。
腳本函數使用Visual Basic .NET編程語言,下面是一個自定義腳本函數的例子:
該函數用于實現將數字轉換為中文大寫功能,供參考。
Function ConvertToRMB(ByVal inputString As String) As String Dim numList As String = "零壹貳叁肆伍陸柒捌玖" Dim rmbList As String = "分角元拾佰仟萬拾佰仟億拾佰仟萬" Dim number As Double = 0 Dim tempOutString As String = "" number = Double.Parse(inputString) Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString() Dim tempNmberLength As Integer = tempNumberString.Length Dim i As Integer = 0 While i < tempNmberLength Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1)) Dim oneNumberChar As String = numList.Substring(oneNumber, 1) Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength - i - 1, 1) If Not (oneNumberChar = "零") Then tempOutString += oneNumberChar + oneNumberUnit Else If oneNumberUnit = "億" OrElse oneNumberUnit = "萬" OrElse oneNumberUnit = "元" OrElse oneNumberUnit = "零" Then While tempOutString.EndsWith("零") tempOutString = tempOutString.Substring(0, tempOutString.Length - 1) End While End If If oneNumberUnit = "億" OrElse (oneNumberUnit = "萬" AndAlso Not tempOutString.EndsWith("億")) OrElse oneNumberUnit = "元" Then tempOutString += oneNumberUnit Else If Not tempOutString Is Nothing Then Dim tempEnd As Boolean = tempOutString.EndsWith("億") Dim zeroEnd As Boolean = tempOutString.EndsWith("零") If tempOutString.Length > 1 Then Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零") If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then tempOutString += oneNumberChar End If Else If Not zeroEnd AndAlso Not tempEnd Then tempOutString += oneNumberChar End If End If End If End If End If i += 1 End While If Not tempOutString Is Nothing Then While tempOutString.EndsWith("零") tempOutString = tempOutString.Substring(0, tempOutString.Length - 1) End While While tempOutString.EndsWith("元") tempOutString = tempOutString + "整" End While Return tempOutString Else Return "" End If End Function
在單元格(文本框)中引用函數,設置單元格 Value 屬性(注意:凡是支持【表達式】的屬性均可調用腳本函數)。
調用形式是:Code.函數名(參數列表) ,
= Code.ConvertToRMB(Fields!Bonus.Value)
本文內容源自
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: