二开案例.账表表单插件.数字显示千分位

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.账表表单插件.数字显示千分位

【应用场景】

账表中的数值型字段,设置其数字显示千分位符。

【案例演示】

采购订单简单账表,设置其数字列显示千分位符。

<方案1>:通过区域格式设置,实现数字显示千分位符。

<方案2>:表单插件对数字列进行格式化显示,下文将演示插件方案的实现过程。


【实现步骤】

<1>编写表单插件,代码如下。

using Kingdee.BOS.Core.Report.PlugIn;

using Kingdee.BOS.Core.Report.PlugIn.Args;

using Kingdee.BOS.Util;

using System;

using System.ComponentModel;

using System.Globalization;


namespace Jac.XkDemo.BOS.Report.PlugIn

{

    /// <summary>

    /// 【账表表单插件】数字显示千分位

    /// </summary>

    [Description("【账表表单插件】数字显示千分位"), HotUpdate]

    public class CgddJdzbSysReportPlugIn : AbstractSysReportPlugIn

    {

        public override void FormatCellValue(FormatCellValueArgs args)

        {

            base.FormatCellValue(args);

            if (args.Header.Key.Equals("FAllAmount", StringComparison.OrdinalIgnoreCase))

            {

                // 格式化数字(指定小数位数+千分位符)

                args.FormateValue = GetDecimalFormatString(Convert.ToDecimal(args.DataRow["FAllAmount"]), 2);

                // 去尾零

                //args.FormateValue = args.FormateValue.GetNoZeroString();

            }

        }


        /// <summary>

        /// 格式化数字(指定小数位数+千分位符)

        /// </summary>

        /// <param name="value"></param>

        /// <param name="digits"></param>

        /// <returns></returns>

        public static string GetDecimalFormatString(decimal value, int digits = 0)

        {

            if (digits < 0 || digits > 99) return ObjectUtils.Object2String(value);

            var formatString = "N" + digits;

            var format = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();

            format.NumberNegativePattern = 1;

            format.NumberDecimalDigits = digits;

            return value.ToString(formatString, format);

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>采购订单简单账表注册表单插件,保存元数据,开发完毕。


【功能验证】

<1>登录业务站点,打开采购订单简单账表,即可看到格式化效果,不管当前用户的区域格式怎么设置,此时的价税合计列的数据将始终显示千分位。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.账表表单插件.数字显示千分位

【应用场景】账表中的数值型字段,设置其数字显示千分位符。【案例演示】采购订单简单账表,设置其数字列显示千分位符。<方案1>:通过区域...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息