2014-09-18 5 views
0

У меня есть grid.Panel на моей странице extjs. В сетке есть комбобокс. При загрузке страницы выпадающее поле не отображается как combobox. Вместо этого они выглядят как пустая ячейка. При щелчке по ячейке они раскрывают раскрывающийся список, как символ.Значение по умолчанию в комбо не видно - extjs

var decisionComboStore = new Ext.data.ArrayStore({ 
    fields: ['abbr', 'action'], 
    data : [ 
      ['proceed', 'Proceed'], 
      ['upNotDone', 'Upload Not Done'] 
      ] 
    }); 
var stockAuditGrid = Ext.create('Ext.grid.Panel', { 
    {header: '<center><b>Decision</center>', dataIndex: 'decision', flex:1, 
     editor: { 
      xtype:'combo', 
        store: decisionComboStore, 
          id: 'decisionCombo', 
          displayField:'action', 
          valueField: 'abbr', 
          mode: 'local', 
          typeAhead: false, 
       emptyText: 'Select...', 
      allowBlank:false 
     },sortable: false, hideable: false} 
}); 

Я не знаю, что еще я должен добавить, чтобы он выглядел как поле со списком при загрузке документа. Также поле должно отображать значение по умолчанию.

+0

В какой версии ExtJS вы используете – Satya

+0

Он должен быть Extjs 4. Он говорит: «Этот файл является частью Ext JS 4 Copyri ght (c) 2011 Sencha Inc ", в первых двух строках моего ext-all.js – Freakyuser

+0

проверьте это http://stackoverflow.com/questions/5965416/extjs-4-combobox-default-value – Satya

ответ

1

Вы ожидаете чего-то, чего не может быть. Редакторы в сетке Ext активируются только на (dbl) клике, и всегда есть только один активный за раз.

Если все в порядке с этим поведением, но вам нужно только появление комбо, вы должны использовать css для создания ячеек сетки.

+0

Огромное спасибо, я пытался что-то, что невозможно. Можете ли вы указать любую ссылку для упомянутого вами css? – Freakyuser

0

Вы не можете сделать его похожим на поле со списком.

Но вы можете использовать пользовательский визуализатор на колонке сетки, чтобы показать Select... когда поле пластинки пуст, фактически не изменяя исходные данные в магазине:

http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-renderer

Пример:

renderer:function(value,meta) { 
    if(value === undefined || value === null || value === "") { 
     meta.style="color:#666" 
     return "&lt;Select...&gt;"; 
    } 
    return value; 
} 
+0

Но в [этом блоге] (http://blogs.walkingtree.in/2013/11/09/what-can-i-do-with-a-gridpanel-in-extjs/), я обнаружил, что combobox возможное. – Freakyuser

+0

Затем спросите автора этого блога, как он это сделал, или просто прочитайте код за ссылкой, которую он предоставил. Я не сказал, что это невозможно, но что «вы не можете сделать его похожим на поле со списком». Я не буду читать этот блог для вас и искать вас в коде там ... – Alexander

+0

Спасибо за ответ. Приветствия. – Freakyuser

Смежные вопросы