Я пытаюсь преобразовать некоторые ExtJS 3.3 в 4.0. В ExtJS 3.x я мог бы создать combobox с уникальным идентификатором компонента, который я мог бы использовать позже с Ext.getCmp (Id), чтобы получить этот комбо-редактор, чтобы я мог добавлять фильтры или играть с самим списком ,Extjs4 itemId, как вернуть редактор столбцов combobox
Теперь, если я укажу Id, сетка не отображает поле со списком в сетке, они говорят, что я должен использовать itemId вместо этого, тогда на самом деле это работает, я имею в виду, что комбо корректно отображается на сетке. Но тогда я не имеют возможности использовать этот элемент item, чтобы получить сам combobox.
Я попробовал grid.getComponent (itemId), grid.headerCt.getComponent(), я должен сказать, что это за штука, для меня хорошо, как я должен получить этот редактор.
В коллекции grid.columns есть редактор для простых полей (например, текст, число), для combobox у него есть getEditor, который запрашивает запись данных в качестве параметра.
Должен сказать еще раз wtf, было так неправильно с ExtJS 3.x, что они чувствовали себя как фиксация и f .... это вверх.
Действительно, это обновление заставило меня пойти wtf столько раз ... возможно, это моя вина, но wtf ... в любом случае.
{
header: 'Ürün/Hizmet',
width: 90,
dataIndex: 'AlinanHizmetId',
editor: {
itemId: 'AlinanHizmetId',
xtype: 'combobox',
allowBlank: false,
selectOnFocus: true,
valueField: 'Id',
displayField: 'HizmetAd',
triggerAction: 'all',
typeAhead: false,
forceSelection: true,
lazyRender: true,
minChars: '2',
listWidth: 300,
store: Ext.create('Ext.data.Store', {
storeId: '',
fields: [{
name: 'HizmetTipAd',
caption: 'Hizmet Tip Adı',
type: Ext.data.Types.STRING,
clrType: 'String'
}, {
name: 'Id',
caption: 'Id',
type: Ext.data.Types.STRING,
clrType: 'Guid'
}, {
name: 'HizmetTip',
caption: 'HizmetTip',
type: Ext.data.Types.STRING,
clrType: 'String'
}, {
name: 'HizmetKod',
caption: 'Hizmet Kodu',
type: Ext.data.Types.STRING,
clrType: 'String'
}, {
name: 'HizmetAd',
caption: 'Hizmet Adı',
type: Ext.data.Types.STRING,
clrType: 'String'
}, {
name: 'Aciklama',
caption: 'Açıklama',
type: Ext.data.Types.STRING,
clrType: 'String'
}],
autoDestroy: false,
autoLoad: true,
autoSave: false,
sortInfo: {
field: 'HizmetAd',
direction: 'ASC'
},
restful: false,
proxy: {
type: 'ajax',
actionMethods: {
read: 'POST'
},
url: '/Yol/Combo/AlinanHizmet',
reader: {
type: 'json',
root: 'data',
idProperty: 'Id',
totalProperty: 'rowCount',
successProperty: 'success',
messageProperty: 'message'
}
},
data: []
})
},
filter: {
xtype: 'textfield'
},
renderer: function (value, metaData, record, rowIndex, colIndex, store) {
return record.get('HizmetAd');
}
}
Вы пробовали 'Ext.ComponentQuery'? Попробуйте 'grid.query ('# item_id')'. – Krzysztof
Да, он возвращает пустой массив. "[]" – hazimdikenli
Можете ли вы опубликовать исходный код? – Krzysztof