前几天发现一个问题,在GridPanel中有几列可以编辑,但编辑之后发现需要点击其他地方,让它失去焦点后,才可以将数据存在数据库中,如何不点击其他地方时,直接点击保存按钮后也可以存放到数据库中呢?这个问题一直让我纠结了半天,直到晚上同事指点我,让我思考在点击保存按钮之前让它失去焦点;经过一翻努力,终于看到了希望。
例如:
正如以上图中,修改时间后直接点击保存,是保存不正确的,还是将修改前的信息进行保存,应在保存时进行对它失去焦点。
代码
<ext:Button ID="ButtonSaveBottom" runat="server" StandOut="true" CommandArgument="" CommandName="" OnClientClick="">
<Listeners>
//GridPanelUnassign是该GridPanel
<Click Handler="focus(#{GridPanelUnassign});" />
</Listeners>
</ext:Button>
js代码:
var focus = function(grid)
{
if(grid.activeEditor != null)
{
grid.activeEditor.completeEdit();
}
}