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一定要修改一下。如下图:

 

posted @ 2019-07-29 23:17 阿业 阅读(...) 评论(...) 编辑 收藏