combobox в grid'е
есть грид. получаю фокус combobox'са и вместо значения (name) у меня показывает айдишник. после того как выберу элемент из списка, то дальше работает нормально. как при получения фокуса выводил сразу (name) а не id
var store_combo;
var store;
Ext.onReady(function(){
//-------------------
var getStore = function(URL, FIELDS)
{
return Ext.create('Ext.data.Store',
{
fields: FIELDS,
idProperty: 'id',
proxy:
{
type: 'ajax',
url: URL,
actionMethods:
{
read: 'POST'
},
reader:
{
root: 'data',
totalProperty: 'totalCount'
}
},
autoLoad: true
});
}
//-------------------
store_combo = getStore(
'get/statuswork',
['id', 'name']);
store = getStore(
'get/work?project_id=3',
['id', 'name', 'status_id']);
//-------------------
Ext.create('Ext.panel.Panel',
{
items: [
{
xtype: 'grid',
store: store,
columns: [
{
text: 'column',
dataIndex: 'status_id',
renderer: function(id)
{
var index = store_combo.find("id", id);
return (index == -1) ? '' : store_combo.getAt(store_combo.find("id", id)).get('name');
},
editor: Ext.create('Ext.form.field.ComboBox',
{
store: store_combo,
hideLabel: true,
queryMode: 'local',
displayField: 'name',
valueField: 'id'
})
}],
plugins: [Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 1})]
}],
renderTo: Ext.getBody()
});
//-------------------
});
|
кое что нарыл. беда в самих сторах. если данные хранятся в 'data' то все норм работает
вот пример сторы:
Ext.create('Ext.data.Store',
{
fields:['status_id'],
data:[
{"status_id": 2},
{"status_id": 1},
{"status_id": 2},
{"status_id": 3}],
proxy:
{
type: 'memory',
reader:
{
type: 'json'
}
}
});
но мне данные нужно из бд тянуть, а не чтобы локально хранились.. |
задача решилась.. id статуса в сторах была типа string а не int
вот к примеру:
Ext.create('Ext.form.field.ComboBox',
{
store: store_combo,
hideLabel: true,
queryMode: 'local',
displayField: 'name',
valueField: 'id',
listeners:
{
focus:
{
fn: function()
{
console.log(typeof this.getValue());
}
}
}
}
при фокусе в консоль выдаст String, нужен int |
| Часовой пояс GMT +3, время: 03:43. |