という名前のパネルにグリッドがあり、グリッド行のリスナーによって、という名前のパネルにgridView
あります。次のようなことを行って from をロードします。gridView
panelMain
dbclick
listeners:{
itemdblclick: function(dataview, index, item, e) {
/* I did not create new studentForm every time.*/
var editStudent = Ext.getCmp('editStudent');
if(editStudent == undefined)
editStudent = Ext.create('H.view.EditStudent');
editStudent.getForm().load({
url: 'studentDetails.php',
params: {studentId: studentId},
method:'GET',
success: function (form, action) {
var panelMain = Ext.getCmp('panelMain');
panelMain.items.clear();
panelMain.add(editStudent);
panelMain.update();
panelMain.doLayout();
},
failure: function (form, action) {
/// do nothing
}
});
}
生徒を編集した後、グリッド ページに戻る必要があるため、次のようにします。
var panelMain = Ext.getCmp('panelMain');
var gridView = Ext.getCmp('gridView');
panelMain.items.clear();
panelMain.add(gridView);
panelMain.update();
panelMain.doLayout();
問題は、グリッドに戻ったときにitemdbclick
イベントが発生しないことです (グリッドはページ内の単なる画像であり、イベントは発生しません)。
また、編集に行ってstudentForm
グリッド作業に戻ると、学生フォームに再度移動すると、学生ページでイベントが発生せず、編集ボタンをクリックしても応答がなく、マウスでも表示されないことがありますホバー (ボタンの色が変化します)。
ここで何が問題なのですか?
- Extjs 4 と Extjs MVC を使用しています。
- グリッド用のコントローラーが1つあり、学生ページを編集します。