【问题标题】:Default value in combo not visible - extjs组合中的默认值不可见 - extjs
【发布时间】:2014-09-18 10:53:44
【问题描述】:

我的 extjs 页面中有 grid.Panel。网格中有组合框。在加载页面时,组合框看起来不像组合框。相反,它们看起来像空的单元格。单击单元格时,它们会显示像符号一样的下拉框。

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}
 });

我不知道我还应该添加什么以使它看起来像加载文档时的组合框。该框还应显示默认值。

【问题讨论】:

  • 你使用的是哪个版本的 ExtJS
  • 它应该是 Extjs 4。它说,“这个文件是 Ext JS 4 版权所有 (c) 2011 Sencha Inc 的一部分”,在我的 ext-all.js 的第一两行
  • @Satya 紧随其后并添加了这一行 Ext.getCmp('decisionCombo').setValue(store.getAt('0').get('abbr')); 但仍在加载文档时,组合框看起来像一个文本字段。下拉符号未出现。
  • 我创建了一个fiddle here。谁能帮我在加载时(不是点击时)在网格内显示组合框?

标签: javascript jsp extjs


【解决方案1】:

你期待一些不可能发生的事情。 Ext 网格中的编辑器仅在 (dbl) 单击时激活,并且一次始终只有一个处于活动状态。

如果对这种行为没问题,但您只需要组合外观,那么您必须使用 css 来设置网格单元格的样式。

【讨论】:

  • 非常感谢,我正在尝试一些东西,那是不可能的。你能提供你提到的css的任何链接吗?
【解决方案2】:

你不能轻易让它看起来像一个组合框。

但是您可以在网格列上使用自定义渲染器在记录字段为空时显示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;
}

【讨论】:

  • 但是在this blog,我发现combobox是可以的。
  • 然后问问那个博客的作者他是怎么做到的,或者只是阅读他提供的链接后面的代码。我并没有说这是不可能的,而是说“你不能轻易让它看起来像一个组合框”。我不会为您阅读该博客并在那里的代码中搜索您...
  • 感谢您的回复。干杯。
  • 我尝试了与您提到的使用渲染器相同的方法,以在此 fiddle 中显示默认值,但我无法这样做。如果可能的话,你能纠正一下小提琴吗?
  • 如果你尝试过,你失败得很惨:我在你的小提琴中找不到编辑器和渲染器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 2011-07-08
  • 1970-01-01
相关资源
最近更新 更多