为列表添加动态列,以及动态列合计原创
金蝶云社区-龙大大大
龙大大大
0人赞赏了该文章 50次浏览 未经作者许可,禁止转载编辑于2024年11月27日 11:15:05

有一个简单的功能,就是在列表上用2个字段相减的出一个新的列,这么简单的功能星空居然不支持,需要二开实现

首先我们需要新增一个列用来存放计算后的字段,然后就是计算逻辑和赋值了

 public override void FormatCellValue(FormatCellValueArgs args)
 {
     base.FormatCellValue(args);
   
     if (args.IsSummaryRow)
     {
         args.FormateValue = hj.ToString("0");
     }
     else
     {
         if (args.Header.RealKey.EqualsIgnoreCase("F_CS_QTY1"))
         {
             args.FormateValue = (Convert.ToDecimal(args.DataRow["FTransInQty"]) -
                 Convert.ToDecimal(args.DataRow["FTransOutQty"]) - Convert.ToDecimal(args.DataRow["FUnqualifiedQty"])
                 - Convert.ToDecimal(args.DataRow["F_VJUQ_CDSL"])
                 ).ToString("0");
             hj=hj+Convert.ToDecimal(args.FormateValue);
         }
     }
     }

合计的话我们需要在全局声明一个hj字段

然后在数据绑定前,将合计字段清空,否则会造成列表不关闭,合计一直累加

       public override void BeforeBindData(EventArgs e)
       {
           base.BeforeBindData(e); hj = 0;
       }

搞定

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