XtraReport报表入库单数字转中文大写数字

Posted herojy886

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XtraReport报表入库单数字转中文大写数字相关的知识,希望对你有一定的参考价值。

先看看打印入库单的效果图,看如下:

技术图片

客户要求合计一行,要求大写中文数字。XtraReport报表是如何做出以上图的效果呢?因为是要把数字转成大写中文数字,得先准备数字转大写中文数字的函数。因网上有很多方法,我这里就不上传代码了。这里只说一下XtraReport报表创建以上收货单报表大写数字操作。新建一个XtraReport报表,设置好收货单报表格式。使用的是运行时绑定数据,以下是源码:

技术图片
 1 public EnterStockRpt(DataSet ds)
 2         
 3             InitializeComponent();
 4             //绑定主表 
 5             DataSource = ds;
 6             DataMember = "parent";
 7             xlSupplierName.DataBindings.Add("Text", ds, "SupplierName");
 8             xlEnterStockID.DataBindings.Add("Text", ds, "EnterStockID");            
 9             xlEnterDate.DataBindings.Add("Text", ds, "EnterDate","0:D");
10             //绑定从表 
11             DetailReport.DataSource = ds;
12             DetailReport.DataMember = "R1";
13             xtProductID.DataBindings.Add("Text", ds, "R1.ProductID");
14             xtProductName.DataBindings.Add("Text", ds, "R1.ProductName");
15             xtProductUnit.DataBindings.Add("Text", ds, "R1.ProductUnit");
16             xtQuantity.DataBindings.Add("Text", ds, "R1.Quantity");
17             xtPrice.DataBindings.Add("Text", ds, "R1.Price");
18             xtAmountMoney.DataBindings.Add("Text", ds, "R1.AmountMoney");
19             //合计
20             xrTableCellGroupSumAccount.DataBindings.Add("Text", ds, "R1.AmountMoney");
21             xrTableCellGroupSumAccount.Summary = new XRSummary(SummaryRunning.Report, SummaryFunc.Sum, string.Empty);
22             //数字转中文大写数字
23             xrTableCellGroupSumAccountChina.DataBindings.Add("Text", ds, "EnterStockMoneys");
24             totalMoney = Convert.ToDecimal(GetCurrentColumnValue("EnterStockMoneys"));
25         
View Code

假如大写后面的表格名称是:xrTableCellGroupSumAccountChina。添加SummaryGetResult的事件。以下是源码:

技术图片
private void xrTableCellGroupSumAccountChina_SummaryGetResult(object sender, SummaryGetResultEventArgs e)
        
            //这里的全局函数Turn_MoneyToBig(),用作将金额变成中文大写
            e.Result = CmycurD(totalMoney);
            //e.Handled=true;这一行必须
            e.Handled = true;
        
View Code

做完以上操作,如果你现在就测试预览。数字一定不会转成大写数字。原因很简单,xrTableCellGroupSumAccountChina的属性Summary一定要修改一下。如下图:

技术图片

 

以上是关于XtraReport报表入库单数字转中文大写数字的主要内容,如果未能解决你的问题,请参考以下文章

java 数字转大写汉字

Lua-阿拉伯数字转中文大写数字

数字转中文,大写,金额

js怎么把数字金额转换成中文大写金额

仓库一般有那些表格

PHP 数字金额转换成中文大写金额的函数 数字转中文