我正在使用 Flex 数据网格,其中只有 1 个 rowItem 是可编辑的。所有其他行项目都是不可编辑的。当我编辑行的值并按 ENTER 或 TAB 时,焦点将发送到数据网格中的下一个可编辑项。在这种情况下,下一个数据网格行上的可编辑字段。
我不希望这种标准行为......我不希望将焦点处理到下一个可编辑项目。由于数据是即时保存的,因此将焦点放在下一个字段上是很奇怪的。焦点必须保持在已编辑的项目上。
我不太确定如何完成这项工作!任何帮助将非常感激!提前感谢您为我指明正确的方向!
我正在使用 Flex 数据网格,其中只有 1 个 rowItem 是可编辑的。所有其他行项目都是不可编辑的。当我编辑行的值并按 ENTER 或 TAB 时,焦点将发送到数据网格中的下一个可编辑项。在这种情况下,下一个数据网格行上的可编辑字段。
我不希望这种标准行为......我不希望将焦点处理到下一个可编辑项目。由于数据是即时保存的,因此将焦点放在下一个字段上是很奇怪的。焦点必须保持在已编辑的项目上。
我不太确定如何完成这项工作!任何帮助将非常感激!提前感谢您为我指明正确的方向!
我找到了解决此问题的快速解决方案。通过手动设置数据网格的editedItemPosition 属性,焦点不会改变到数据网格中的下一个可编辑单元格项,而是我们手动提供的索引。
向 datagrid 标签添加一个函数:
itemEditValueCommit="itemEditValueCommitHandler(event)"
在 ItemEditValueCommit 函数中,您可以手动设置editedItemPosition:
[datagrid].editedItemPosition = {rowIndex: event.cell.rowInfo.rowPositionInfo.rowIndex, columnIndex: 0};
rowIndex 是我们刚刚编辑的数据网格线。
columnIndex 可以是数据网格的任何 ColumnIndex!