列表引出支持干预修改数据原创
金蝶云社区-Howhy
Howhy
37人赞赏了该文章 1,360次浏览 未经作者许可,禁止转载编辑于2023年01月16日 10:30:48


列表引出有时候需要对数据进行处理,如果在列表插件的单元格格式化中处理,则列表显示和引出都生效。部分场景仅需要处理引出情况。这个时候一般使用引出的单独方法,BeforeExportDataNew。


以下案例演示了,列表有一列FPercent,我们在引出时,需要对百分比乘以100进行引出显示。参考代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;

namespace Witt.Cloud.PlugIn.BillList
{
    [HotUpdate]
    [Description("列表引出百分比插件演示")]
    public class PercentExportPlugIn : AbstractListPlugIn
    {        

        public override void BeforeExportDataNew(BeforeExportDataNewArgs e)
        {
            var datasource = e.obj as DataTable;
            if (datasource == null) return;            

            if (!datasource.Columns.Contains("FPercent")) return;

            //循环修改每行数据
            foreach (DataRow dr in datasource.Rows)
            {
                string percentVal = dr["FPercent"].ToString();

                if(percentVal==null ||  percentVal.Length==0) continue;

                dr["FPercent"] = decimal.Parse(percentVal) * 100;
            }
        }

    }
}



图标赞 37
37人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!