2013-02-24 63 views
0

我有一个关于这条道路上的dgrid主/ editor_more_widgets.html测试文件的问题:dijit表单选择

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

也许你应该下载整个包装查看的文件。无论如何,有没有办法修复“选择商店”列,因此它会显示标签不是值,如“FilteringSelect商店”列呢?

+0

您应该让问题的标题更具信息性,并为您的帖子添加更多标签,例如'javascript','dojo'和'dgrid' – 2013-04-14 21:12:19

回答

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是我用来提供商店的自定义模块。您可以相应地修改它。