Devexpress 如何在XtraGrid中实现类似excel的公式编辑器?

Devexpress 如何在XtraGrid中实现类似excel的公式编辑器?,devexpress,xtragrid,Devexpress,Xtragrid,我正在研究一个复杂的系统,它允许用公式计算网格中的一些值。 现在我在网格上有文本框控件。 它是这样工作的: 当您开始在在位编辑器中编辑时,第一个符号为“=”-焦点将移动到上面的文本框控件。 此时,网格被设置为只读,当用户单击网格单元格时,被单击单元格的坐标将传递给公式编辑器,以便它可以向公式添加链接。在文本编辑器中按Enter键或Esc键时,公式将写入基础数据集,网格将变回可编辑状态 目标是: 我也希望它看起来更像Excel网格。我不喜欢把注意力转移到外面的某个地方。 是否可以保持编辑器打开,同

我正在研究一个复杂的系统,它允许用公式计算网格中的一些值。 现在我在网格上有文本框控件。 它是这样工作的: 当您开始在在位编辑器中编辑时,第一个符号为“=”-焦点将移动到上面的文本框控件。 此时,网格被设置为只读,当用户单击网格单元格时,被单击单元格的坐标将传递给公式编辑器,以便它可以向公式添加链接。在文本编辑器中按Enter键或Esc键时,公式将写入基础数据集,网格将变回可编辑状态

目标是:

我也希望它看起来更像Excel网格。我不喜欢把注意力转移到外面的某个地方。 是否可以保持编辑器打开,同时允许用户单击网格上的任意位置?那么,所有公式编辑都将在inplace editor中执行? 现在,没有任何事件禁止关闭编辑器。如果我使用“ValidateEditor”事件,它甚至不允许使用滚动条。 有没有办法让编辑器保持打开状态并让导航正常工作?


看来我自己已经找到了解决办法。 我处理ValidatingEditorEvent,如果编辑值以“=”开头,我将在控件中设置布尔标志。此外,我还记得光标位置前后的文本以及单元格坐标(FocusedRowHandle、FocusedColumn)。 当我收到Click事件时,我会得到clicked单元格坐标,如果设置了boolean标志,我会聚焦上一个单元格,激活编辑器并将所需内容添加到Calce editor中。 看起来很好用