本帖最后由 Simon.Sun 于 2022-10-31 17:31 编辑
举个例子
比如 =IF(AD31>0,AD31,"去认款")
这个公式在普通单元格、组件中使用都是没有问题的,但表格中不能引用自身,至少我上边这个公式是不能的,不信你们可以测试
这里不谈能不能用其它的方法实现,我们就说这样的需求,因为它是一个非常普遍的需求
我说下使用场景
比如合同收款值为空或者为0时,我希望它显示成“去认款”,开票数据为空或者为0时我希望它显示为去认票,工时数据为空或者为0时我希望显示它为“去报工”,合同号为空时我希望它显示为“申请合同号”,经办人为空时,我希望它显示为选择经办人,业主单位数据为空时我希望它显示为“选择客户”,等等此类场景
如果一定要说其它解决方法,比如新加一列就可以判断了,没错,但问题也来了,新加的列因为使用了公式,无法汇总;
也有人说我在查询的时候直接遍历整个表格,对数据进行判断再修改值,也没错,但这样带来的后果就是查询速度非常慢,尤其是数据量非常大的情况下,非常影响体验。
还有一种我自己尝试出来的新版本才有的功能,就是在图文列表(不支持公式)中使用组件(支持公式),这种方式可以实现,但带来的后果就是我要花很多时间去设计这个图文列表,一旦有修改极为不便,不如表格来得直接(增加删除列就是点点鼠标就完成了)
所以我希望表格中单元格公式支持使用自身的值进行判断,我更希望的是表格支持单元格数据绑定事件,就像ASP.NET中的数据绑定事件(如:GridView.RowDataBound 事件)一样,可以拿到绑定前的值,进行一系列业务逻辑处理后返回一个新值给单元格进行绑定,如果能实现这样就效果就好了
|