У меня есть сводка с заранее заполненными значениями. Нажав кнопку «Утвердить все», я хочу установить его значение на некоторое значение.Установка значения combobox с помощью extjs
Вот мой код
var myStore = new Ext.data.ArrayStore({
sortInfo: {field: 'Name', direction: "ASC"},
data: arrHoursData,
fields: [{name: 'Id', type: 'string'},
{name: 'Name', type: 'string'},
{name: 'Hours', type: 'string'},
{name: 'AssignmentId', type: 'string'},
{name: 'Status', type: 'string'}
]
});
var statusStore = new Ext.data.Store({
data: arrStatus,
fields: ['Id', 'Name']
});
var hoursGrid = Ext.create('Ext.grid.Panel', {
store: myStore,
width: 340,
height: 270,
collapsible: false,
selType: 'cellmodel',
plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit:1
})
],
columns: [
{header: 'Id', dataIndex: 'Id',hidden: true},
{header: 'Date',dataIndex: 'Name', width:140},
{header: 'Hours',dataIndex: 'Hours', width:100, editor: {xtype: 'numberfield', minValue: 0, allowBlank: false}},
{header: 'Status',dataIndex: 'Status', width:100, editor: { xtype: 'combobox',store: statusStore, queryMode: 'local', displayField: 'Name', valueField: 'Id',id:'status'}, renderer: function (value) {
var label = '';
jQuery.each(arrStatus, function(k,v)
{
if(v['Id'] == value)
label = v['Name'];
});
return label;
}
}
]
});
var win = new Ext.Window({
closable: true,
title: "Edit Hours",
layout: 'form',
modal: true,
width: 360,
height: 300,
plain: true,
border: false,
items: [
{
flex: 1,
xtype: 'container',
style:'margin-top:15px',
layout: {
type: 'hbox',
align: 'stretch'
},
items:[hoursGrid]
}
],
buttons: [
{
text: 'Approve All',
handler: function()
{
Ext.getCmp('status').setValue(approvedStatusId);
}
}
],
});
win.show(g);
Я попытался установить его значение, используя getCmp тоже, но он дает мне ошибку, что Ext.getCmp («статус») не определен.
Ваше поле «статус» не создается при нажатии кнопки, потому что это редактор столбцов. –
@ EliasMedeiros прав. Что вы на самом деле пытаетесь сделать здесь? – abeyaz
У меня есть кнопка под названием «Утвердить все» в сетке на клике. Я просто хочу установить комманду состояния на некоторое значение. – Techy