2

我正在研究复杂的系统,它允许通过公式计算网格中的一些值。现在我在网格上方有文本框控件。它以这种方式工作:当您在就地编辑器中开始编辑并且第一个符号是“=”时 - 焦点移动到上面的那个文本框控件。此时网格是只读的,当用户单击网格单元格时 - 单击的单元格的坐标被传递给公式编辑器,因此它可以添加到公式的链接。当您在文本编辑器中按 Enter 或 Esc 时 - 公式正在写入基础数据集,并且网格可以重新编辑。

目标:

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

4

1 回答 1

0

似乎我自己也找到了解决办法。我处理 ValidatingEditorEvent,如果编辑值以 '=' 开头,我在控件中设置布尔标志。另外,我记得光标位置之前和之后的文本,以及单元格坐标(FocusedRowHandle、FocusedColumn)。当我收到 Click 事件时,我会单击单元格坐标,并且如果设置了布尔标志 - 我会关注前一个单元格,激活编辑器并添加我需要的内容到编辑器中。似乎工作正常。

于 2012-11-13T10:59:40.630 回答