D365 FO Grid控件的新特性
D365 FO从10.0.0.9版本以后在Grid控件上加入了一些特别棒的特性,目前(10.0.0.10)还处在预览阶段,用户可以自行在功能管理里启用Grid的新特性,不过也要能容忍比较多的bug,毕竟还在预览阶段。
这些新加的特性是D365之前版本千呼万唤始出来不出来的功能,还是非常让人觉得眼前一亮的,或许这就是切换到B/S以后的好处吧,以前的系统控件是封闭的WinForm控件。
现在可以大量采用B/S客户端技术,新加的这些特性在B/S客户端中是常见的特性,Grid在某些方面已经具有了Excel的特质,当然还差得远。
具体新增的特性介绍,参加下文:
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/get-started/grid-capabilities?toc=/dynamics365/commerce/toc.json
如何启用Grid的新特性?
版本必须是10.0.0.9以后,登录D365 FO,找到工作区->功能管理,在所有页签搜索网格
如果没有搜索到,首先确认当前系统的版本是10.0.0.9及以后的版本。
然后点击检查更新。
等更新完毕后再搜索,就看到相应的功能了,选中点击启用就可以使用网格控件的新特性了。
下面逐一介绍一下新的网格控件的特性。
1.合计
这个功能可以说在D365之前是一直求而不得的功能,很多时候没办法,只好在Grid控件的外面自己加Display方法合计,并且还没办法跟汇总的列对起,实在逼急了,只能用临时表实现,蹩脚指数五颗星。
平台的一个改进,会让一切变得那么顺遂,而回头望去之前的岁月,只能一声叹息。
在Grid的任意地方点 显示页脚 系统会自动给Grid增加页脚。
添加页脚之后的效果:
当选中多行时会显示,会显示选中的记录条数,点击右边的加好,可以把金额字段做自动汇总。
目前的版本(10.0.0.10)选中多行以后,合计就没了,看起来不支持针对选中行的合计,不知道将来会不会添加。
2.分组
可以针对选择的列进行分组汇总合计,类似于Excel里的分组合计。
在某一列上点右键,选择按此列分组,就可以按照某一列分组了。
自动添加一列分组依据,每一组的记录条数,每一组会增加一个组的表头,自动把数字字段合计。
目前的版本(10.0.0.10)还不支持按照多个组分类汇总,比如先按照日期,再按照发票合计,再按照。。。如此之类,后续的版本应该会添加,不过已经很酷了。
3.快速输入
以前的Grid都是一样输入完才能输入另一行,现在的Grid增加了快速输入功能,上一行的提交和下一行的创建异步执行,上一行的状态后面才返回,数据录入和提交分开执行,提高录入效率。
多出来一列,用来记录提交的状态,验证通过的就直接提交了,验证有问题的,会通过状态显示出来,对于需要快速录入大量数据的场景,这个功能还是蛮有用的。
4.从Excel中复制粘贴
在D365 FO之前的AX版本要实现从Excel或者其他文本文件中的数据直接复制粘贴到Grid里,可以用TextBuffer的fromClipboard方法,获取并分析剪切板里的数据再将数据写入到相应的表字段里,然后刷新Grid的方法。
新的Grid特性里虽然介绍是从Excel中粘贴,其实跟Excel也没啥关系,它应该也是从剪切板里把数据读出来填到Grid里了,自己做个Text文件,用Tab作为字段分隔符,一样可以粘贴到Grid里。
这个特性的确蛮酷,特别对于一些简单的主数据,想从其他地方拷贝过来就非常方便了,当然拷贝之前字段顺序要调整的跟Grid字段的顺序一致。
在Excel准备好数据,复制。
在Grid里选中复制开始的单元格,粘贴。
酷。。。
5.单元格里使用公式
在单元格里直接用=然后可以输入常用的加减乘除及常用的数学函数可以直接得出答案,这样就不用再外面计算好再输入了。
酷+1。
所有支持的数学函数列表在下面连接中。
http://bugwheels94.github.io/math-expression-evaluator/#supported-maths-symbols