码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-07-30 00:34:26      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:etc   column   div   运行   port   eve   ble   oid   hid   

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

技术图片

客户要求合计一行,要求大写中文数字。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报表入库单数字转中文大写数字

标签:etc   column   div   运行   port   eve   ble   oid   hid   

原文地址:https://www.cnblogs.com/herojy886/p/11267162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!