【问题标题】:ExtJs 4.2 - Property Grid with form fields?ExtJs 4.2 - 带有表单字段的属性网格?
【发布时间】:2014-06-22 10:57:40
【问题描述】:

我正在尝试创建一个属性网格,在值列中包含表单字段。默认情况下,当我单击该值时,它会变成文本输入。但我希望它始终作为文本字段、组合框或日期选择器等可见。我尝试使用sourceConfig,但没有运气。怎么做?

这是我的一些代码:

Ext.create('Ext.grid.property.Grid', {
    title: 'Details',
    id: 'settings-details',
    source: {
        "Username": "Username", //Need a text input
        "Email": "Email",
        "State": "State"        //Need a combo
    },
    sourceConfig: {
        "Username": {
            editor: Ext.create('Ext.form.field.Text', { allowBlank: true }),
            displayName: 'Whatever'
        }
    }
}),

【问题讨论】:

  • 也许您应该尝试这里的示例:docs.sencha.com/extjs/4.2.2/#!/api/… 以前没有使用过属性网格,但据我所知,您应该在源对象中使用默认键,如示例中所述。
  • 我引用了相同的示例,但问题是该字段仅在我单击行项目时才会显示。我希望它始终可见,就像以某种形式一样。我应该使用看起来像网格的网格以外的东西吗?
  • Ext.property.Grid 扩展了 Ext.grid.Panel 所以必须有一些技巧。 :) 我不知道,也许尝试在 Ext.selection.Model 中搜索答案

标签: extjs extjs4.2


【解决方案1】:

您需要在 sourceConfig 中定义您的组合或使用如下变量:

var states = Ext.create('Ext.data.Store', {
    fields: ['abbr', 'name'],
    data : [
        {"abbr":"AL", "name":"Alabama"},
        {"abbr":"AK", "name":"Alaska"},
        {"abbr":"AZ", "name":"Arizona"}
        // More states here....
    ]
});

Ext.create('Ext.grid.property.Grid', {
   title: 'Details',
   id: 'settings-details',
   width: 300,
   renderTo: Ext.getBody(),
   source: {
       Username: "Username", //Need a text input
       Email: "email@domain.com",
       state: "State"        //Need a combo
   },
   sourceConfig: {
       state: {
           editor: Ext.create('Ext.form.ComboBox', {
              fieldLabel: 'Choose State',
              store: states,
              queryMode: 'local',
              displayField: 'name',
              valueField: 'abbr'
           }),
           displayName: 'State'
        }
    }
});

这应该将一个组合设置为您的状态编辑器...

【讨论】:

  • 我正在使用sourceConfig,但只有当我单击该行时才会显示该字段。我希望它始终可见。
  • 朋友有什么解决办法吗?我希望编辑器始终可见,而不仅仅是点击!
  • 这个组件不是这样工作的,如果你想让一个组合框一直可见,你需要一个带有模板列的常规网格。或者您可以将编辑器设置为一键启用。
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多