在常用的代码中,我们使用AddForm.form.reset();或者AddForm.getForm().reset();来将FormPanel重置。
但是当页面增加和修改公用一个formpanel时,当先点击修改时,窗体修改显示出数据,关闭窗体后(window.hide())但是当你再点击增加的时候,随便你怎么去操作,新增时你会发现窗体上还是显示这些数据。而如果你先新增再查看修改,侧以后永远都是空白窗体。
所以要在点击修改的时候先window.show(),然后在加载数据:
1 function updateForm(){ 2 var sm = grid.getSelectionModel().getSelected(); 3 //得到复选框勾选后的数据 4 var sm_num = grid.selModel.getSelections().length; //勾选的个数 5 if(!sm){ 6 Ext.Msg.alert("修改操作", "请选择要修改的项"); 7 }else if(sm_num>1){ 8 Ext.Msg.alert("修改操作", "你选择修改的记录不能多于一条"); 9 }else{ 10 win.show();//先显示窗体 11 formPanel.form.loadRecord(sm); //再加载数据 12 } 13 }
这样,增加和修改就不会冲突了