再MRWin中,主要有以下几个条件会影响到CurrentCell变化时的事件顺序。
1. 变化是由数据源的Current变化引起的,而不是MultiRow引起的。 2. CurrentCell移出了当前行 3. 当前Cell正处于编辑状态 4. 当前Cell处于编辑状态并且当前值已经变化但没有提交到数据源。 5. EditMode设置为EditOnEnter 下面是整个过程中的主要事件及触发顺序和条件: 1. NewCellPositionNeeded (只有条件1不满足时触发) 2. CellLeave 3. RowLeave (只有条件2满足时触发) 4. CellValidating (只有条件1不满足时触发) 5. CellValueChanged (只有条件1不满足,条件4满足时触发。因为,如果是数据源的变化引起的变化,当前编辑的值会被丢弃。) 6. CellValidated (只有条件1不满足时触发) 7. RowValidating (只有条件1不满足,且条件2满足时触发) 8. RowValidated (只有条件1不满足,且条件2满足时触发) 9. EndEdit (当条件3满足时触发) 10. RowEnter (只有条件2满足时触发) 11. CurrentCellChanged 12. CellEnter 13. SelectionChanged 14. BeginEdit (当条件5满足时触发) 15. EditingControlShowing (当条件5满足时触发) 以上仅仅是主要的和Navigation, Selection, Editing, Validation相关的事件,在这个过程中还会触发多次CellFormatting事件,CellPainting事件和 CellValueNeeded事件(如果你开启了VirtualMode),如果值发生变化(条件4满足),会触发CellParsing和 CellValuePushed事件。这里就不在详述了。 |
关于葡萄城
葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。
葡萄城热门产品
活字格
打通现有软件,快速定制面向未来的个性化应用
SpreadJS
可嵌入您系统的在线Excel的纯前端表格控件
Wyn商业智能
可与企业自有系统深度集成,增强数据分析的 BI 工具