6
데이터 저장소 레코드에서 ExtJs FormPanel을 동적으로 채우려고합니다. 사용자가 GridPanel에서 행을 클릭하면 buildForm 메소드가 호출되고 클릭 된 레코드가 첫 번째 arg로 전달되어 전송됩니다.데이터 저장소 레코드에서 formpanel을 동적으로 작성하는 ExtJs
아래 코드 (디버깅 할 때)는 작동하지만, doLayout 메서드는 아무 효과가 없습니다.
누구나 올바른 방향으로 나를 가리킬 수 있습니까?
mymodule = Ext.extend(Ext.FormPanel, {
forceLayout: true,
initComponent: function() {
Ext.applyIf(this, {
id: Ext.id(),
labelWidth: 75,
defaultType: 'textfield',
items: [{
layout: 'form',
items: [{
fieldLabel: 'test',
xtype: 'textfield'
}, {
fieldLabel: 'test',
xtype: 'textfield'
}]
}]
});
mymodule.superclass.initComponent.call(this);
},
buildForm: function (record, c) {
var form = this.getForm();
var formItems = new Ext.util.MixedCollection();
Ext.each(record.fields.items, function (item) {
formItems.add(new Ext.form.TextField({
labelStyle: 'width:100px',
fieldLabel: item.name,
name: item.dataIndex,
id: 'field-' + item.name
}));
}, this);
form.items = formItems;
this.doLayout(false, true);
form.loadRecord(record);
}
});
덕분에, 항목을 제거하는 올바른 방법이 무엇인지 그 경우에? 폼을 먼저 지우려면 – Dve
을 사용하면 폼에서 컴포넌트를 제거하기 위해'remove()'또는'removeAll()'메소드를 사용할 수 있습니다 –