Я пытаюсь конвертировать некоторые ExtJS 3.3 в 4.0.В ExtJS 3.x я мог создать комбинированный список с уникальным идентификатором компонента, который позже мог бы использовать с Ext.getCmp (Id), чтобы получить этот комбинированный редактор, чтобы я мог добавлять фильтры или играть с самим комбинированным полем.
Теперь, если я указываю Id, сетка не отображает корректно поле со списком в сетке, они говорят, что вместо этого я должен использовать itemId, тогда на самом деле это работает, я имею в виду, что комбо правильно отображает в сетке, нотогда я не могу использовать этот itemId для получения самого комбобокса.
Я попробовал grid.getComponent (itemId), grid.headerCt.getComponent (), я должен сказать, для чего этот itemId хорошКак же я должен получить этот редактор.
Сетка grid.columns имеет редактор для простых полей (таких как текст, число), для комбинированного списка есть getEditor, который запрашивает запись данных в качестве параметра.
Я должен сказать еще раз wtf,с ExtJS 3.x было так плохо, что они чувствовали, что исправляют и е ... его.
На самом деле, это обновление заставляло меня так много раз повторяться ... возможно, это моя вина, но именно это... в любом случае.
{
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');
}
}