如何在MessageBox中保持焦点

时间:2011-12-20 05:57:38

标签: extjs focus messagebox extjs3

我正在使用带有cellEditor的EditorGridPanel,它几乎像Excel一样。我们实现了箭头键在行和列之间移动。在验证行时,如果它与验证规则不匹配,我们会显示一个MessageBox,并希望焦点在无效时不移动。但是,在MessageBox显示之后 - 焦点移动到下一行/列。另一个问题是,用户必须单击MessageBox的OK按钮才能从屏幕中删除它。我们可以关注无效的列编辑器,也可以关注MessageBox的OK按钮 - 这样用户可以按Enter键来隐藏消息并继续输入吗?

请查看我们的链接。 http://www.softworksbd.com/swazilandlmis/yyyy_stockdata.php

1 个答案:

答案 0 :(得分:3)

只能聚焦一个元素,因此焦点应该转到消息框。 AFAIK输入/转义键在带有消息框的框外工作。 您可以将回调传递给消息框。在此回调中,您可以将所需的单元格聚焦在网格中。像这样:

Ext.Msg.alert('Title', 'Message.', function(){ 
    this.startEditing(rowIndex, colIndex);
}.createDelegate(grid));

因此,在消息框关闭后,焦点将返回编辑器。