2013-02-24 1 views
0

У меня есть вопрос о тестовом файле dgrid-мастер/editor_more_widgets.html по этому пути:Dijit форма выбора

https://github.com/SitePen/dgrid/blob/master/test/editor_more_widgets.html 

может быть, вы должны загрузить весь пакет, чтобы увидеть файл. во всяком случае, есть ли способ исправить столбец «Выбрать магазин», чтобы он отображал метку не значение, например столбец «Фильтровать выборку»?

+0

вы должны сделать заголовок вашего вопроса более информативным и добавить больше тегов к своему сообщению, таких как 'javascript',' dojo' и 'dgrid' –

ответ

0

Для этого я создал пользовательский плагин. Ключевая часть является функцией 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 является пользовательским модулем я использовал, чтобы обеспечить магазин. Вы можете изменить его соответствующим образом.