Для этого я создал пользовательский плагин. Ключевая часть является функцией renderCell:
define([
"dojo",
"sb",
"put-selector/put",
"dgrid/editor",
"dijit/form/Select"
], function(dojo, sb, put, editor, Select){
dojo.global.starbug.grid.columns = dojo.global.starbug.grid.columns || {};
dojo.global.starbug.grid.columns.select = function(column){
//populate the cell with the label or value
column.renderCell = function(object, value, cell, options, header){
items = column.editorInstance.getOptions();
for (var i in items) {
if (value == items[i].value) value = items[i].label;
}
put(cell, 'span.'+value.replace(/ /g, '-').toLowerCase(), value);
};
column.editorArgs = {
style:'width:100%',
labelAttr:'label',
store:sb.get(column.from, 'select')
};
column = editor(column, Select, "dblclick");
return column;
};
});
Обратите внимание, что sb
является пользовательским модулем я использовал, чтобы обеспечить магазин. Вы можете изменить его соответствующим образом.
вы должны сделать заголовок вашего вопроса более информативным и добавить больше тегов к своему сообщению, таких как 'javascript',' dojo' и 'dgrid' –