0
내 콤보 상자를 클릭하면 새 행이 발생하지만 "Uncaught TypeError : 속성을 읽을 수 없습니다 'xtype'undefined"오류가 발생할 때마다 콤보 box.please 표시 안 함 당신이 가게에서 데이터 유형을 정의 할 필요가 - -이 problem.it가 extjs라는 3에서 잘 작동하지만 난 현재 내가 다른 질문에 내 마지막 코멘트에 언급 한 바와 같이 extjs라는 4콤보 상자에서 Extjs 4
var cond1 = Ext.create('Ext.data.Store', {
fields: ['maint_condition1'],
data : [
['Excellent'],['Poor'],['New'],['good'],['scrap']
]
}
);
var cond2 = Ext.create('Ext.data.Store', {
fields: ['maint_condition2'],
data : [
['Excellent'],['Poor'],['New']
]
}
);
var cond3 = Ext.create('Ext.data.Store', {
fields: ['maint_condition3'],
data : [
['New'],['Excellent']
]
}
);
var cond4 = Ext.create('Ext.data.Store', {
fields: ['maint_condition4'],
data : [
['New'],['Excellent'],['good'],['Poor'],['scrap']
]
}
);
//ready store
//var cb_select2 =new Ext.grid.CheckboxSelectionModel();
//var cb_select2 =new Ext.grid.CheckboxSelectionModel();
var asset_edit = new Ext.form.TextField();
var notes_edit = new Ext.form.TextField();
var date_edit = new Ext.form.DateField({format: 'm/d/Y'});
var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
clicksToMoveEditor: 1,
autoCancel: false,
saveText: 'Save',
listeners: {
afteredit: syncStore
}
});
var cond1_edit = new Ext.form.DateField({format: 'combo'});
//var sm = Ext.grid.getSelectionModel();
//Grid for show data
var grid = Ext.create('Ext.grid.Panel', {
renderTo: document.body,
//renderTo: 'grid1',
extend: 'Ext.form.ComboBox',
plugins:[rowEditing],
frame: true,
height:140,
width:950,
enableColumnMove: false,
store: store,
columns: [
{header: "Asset ID", dataIndex: 'asset_id',readOnly: true},
{header: "Maint. ID", dataIndex: 'id',readOnly: true},
{header: "Date", dataIndex: 'date_',xtype: 'datecolumn',width: 90,
editor: {
xtype: 'datefield',
allowBlank: false,
format: 'm/d/Y',
minValue: '01/01/2006',
minText: 'Cannot have a start date before the company existed!',
maxValue: Ext.Date.format(new Date(), 'm/d/Y')
}
},
{header: "Notes", dataIndex: 'notes',editor: notes_edit},
{header: "Maint_condition1", dataIndex: 'maint_condition1', sortable: true,width: 120,
editor: Ext.create('Ext.form.ComboBox', {
xtype:'combobox',
allowBlank: false,
mode: 'local',
store: cond1,
valueField: 'maint_condition1',
displayField: 'maint_condition1',
triggerAction: 'all',
editable: false
}
)},
{header: "Maint_condition2", dataIndex: 'maint_condition2', sortable: true,width: 120,
editor: Ext.create('Ext.form.ComboBox', {
xtype:'combobox',
allowBlank: false,
mode: 'local',
store: cond2,
valueField: 'maint_condition2',
displayField: 'maint_condition2',
triggerAction: 'all',
editable: false
}
)},
{header: "Maint_condition3", dataIndex: 'maint_condition3', sortable: true,width: 120,
editor: Ext.create('Ext.form.ComboBox', {
xtype:'combobox',
allowBlank: false,
mode: 'local',
store: cond3,
valueField: 'maint_condition3',
displayField: 'maint_condition3',
triggerAction: 'all',
editable: false
}
)},
{header: "Maint_condition4", dataIndex: 'maint_condition4', sortable: true,width: 120,
editor: Ext.create('Ext.form.ComboBox', {
xtype:'combobox',
allowBlank: false,
mode: 'local',
store: cond4,
valueField: 'maint_condition4',
displayField: 'maint_condition4',
triggerAction: 'all',
editable: false
}
)}
],
tbar: [
{
text: 'Add Record',
icon: 'http://localhost/toolbar2/app/webroot/images/table_add.png',
cls: 'x-btn-text-icon',
handler: function()
{
rowEditing.cancelEdit();
var r = Ext.create('User', {
id: 0,
notes: 'New Notes',
asset_id: window.id,
});
store.insert(0, r);
rowEditing.startEdit(0,0);
}
},
{
text: 'Remove Record',
icon: 'http://localhost/toolbar2/app/webroot/images/table_delete.png',
cls: 'x-btn-text-icon',
handler: function() {
var sm = grid.getSelectionModel();
rowEditing.cancelEdit();
store.remove(sm.getSelection());
if (store.getCount() > 0)
{
sm.select(0);
}
}
}]
});
다른 하나 - 콤보 박스 생성 중에 'xtype'이 필요하지 않습니다. 이미 특정 유형의 Ext.create를 사용하고 있습니다. – sha
답장을 보내 주셔서 감사합니다 ...이 xtype 오류 및 콤보 상자도 제대로 작동하고 있습니다. 이제 jeson 디코딩 및 인코딩 문제가 발생합니다.이 문제를 해결하려고합니다. 감사합니다. –