わかりましたので、ビューを取得しようとしているようです: Group_prop
。このビューの構成に、id
またはできればitemId
セットがあることを確認してください。例えば
Ext.define('MyApp.view.GroupProb', {
extend: 'Ext.Panel',
alias: 'widget.group_prob',
config: {
...
itemId: 'groupProb',
...
},
....
});
コントローラーで、このビューに適切にアクセスするための参照を作成する必要があります。したがって、コントローラーは次のようになります。
Ext.define('MyApp.controller.MyController', {
extend: 'Ext.app.Controller',
config: {
refs : {
groupProb : {
autoCreate: true,
selector: '#groupProb',
xtype: 'group_prob'
}
},
control: {
...
},
...
},
run_edit: function(data) {
$this = this;
this.mode = "update";
this.data = data;
this.win = this.getView('Group_prop').create();
var form = this.win.down('form');
var util = this.getController('controller_Helper');
form.getForm().loadRecord(data);
util.form_lock({
form:form,
items:['GROUP_KODE']
});
this.win.show();
},
...
});
あなたの関数から、変数からrun_edit
作業しているように見えます(間違っている場合は修正してください)。Sencha Touch では、 を使用します。また、この関数の最後で関数 onを呼び出します。これは、 が表示されたときに実行することを示唆しています。そうは言っても、関数を次のようにしたい場合があります。windows
this.win
Panels
show
this.win
run_edit
this.win
run_edit
run_edit: function() {
var me = this,
mode = 'update',
data = data,
groupProbPanel = me.getGroupProb();
// This assumes that your form component has an itemId.
// You need one inorder use the down method.
var form = groupProbPanel.down('#form_itemId');
// You may want to double check this. I don't think that is how you
// you get the controller.
var util = this.getController('controller_Helper');
form.getForm().loadRecord(data);
util.form_lock({
form:form,
items:['GROUP_KODE']
});
}
が表示されたときにこれが発生するようにするため、構成でshow イベントリスナーをgroupProbPanel
設定する必要があります。したがって、コントローラーは次のようになります。control
config
...,
config: {
refs : {
groupProb : {
autoCreate: true,
selector: '#groupProb',
xtype: 'group_prob'
}
},
control: {
groupProb : {
show: 'run_edit'
},
...
},
...
},
...