2011-01-19 128 views
1

我试图生成大量的字段列表,所有字段都具有最小值,最大值和准确度。不幸的是,这些领域中的一些需要附加诸如时间等单位。我希望能够显示此内容,而不必为单元添加另一列,所以我的想法是将其包含在字段标签中。复合字段上的自定义字段标签

我正在用CompositeFields,2个textfields,一个displayfield,然后是另一个textfield。

这是一个模拟了什么,我试图做... Mockup Image

这是一个可行的选择,或者我需要找到一种不同的方式来进行此事?

目前,我的代码有一个[secs ^]来代替实际的组合框,但是您可以在上面看到我正在尝试执行的操作。

我也试过使用组合框作为字段标签,但最终以[Object object]代替了实际的fieldLabel。

代码:

Ext.FormPanel({ 
    frame: true, 
    layout: 'form', 
    border: 'false', 
    padding: '15 50 15 50', 
    labelAlign: 'right', 
    items: [{ 
     xtype: 'compositefield', 
     msgTarget: 'side', 
     labelStyle: 'width:220px', 
     anchor: '-140', 
     defaults: { 
      flex: 1, 
     }, 
     items: [{ 
      xtype: 'displayfield', 
      style: 'text-align:center', 
      value: 'Min' 
     }, { 
      xtype: 'displayfield', 
      style: 'text-align:center', 
      value: 'Max' 
     }, { 
      xtype: 'displayfield', 
      width: '20px' 
     }, { 
      xtype: 'displayfield', 
      style: 'text-align:center', 
      value: 'Accuracy' 
     }] 
    }, { 
     xtype: 'compositefield', 
     fieldLabel: 'Average Percent Completed', 
     labelStyle: 'width:220px', 
     anchor: '-140', 
     msgTarget: 'side', 
     defaults: { 
      flex: 1 
     }, 
     items: [{ 
      xtype: 'numberfield', 
      mode: 'local', 
      name: 'percentMin' 
     }, { 
      xtype: 'numberfield', 
      mode: 'local', 
      name: 'percentMax' 
     }, { 
      xtype: 'displayfield', 
      value: '+/-', 
      width: '20px' 
     }, { 
      xtype: 'numberfield', 
      mode: 'local', 
      name: 'percentAcc' 
     }] 
    }, { 
     xtype: 'compositefield', 
     fieldLabel: 'Average Time [sec ^]', 
     msgTarget: 'side', 
     labelStyle: 'width:220px', 
     anchor: '-140', 
     defaults: { 
      flex: 1 
     }, 
     items: [{ 
      xtype: 'numberfield', 
      mode: 'local', 
      name: 'avgTimeMin' 
     }, { 
      xtype: 'numberfield', 
      mode: 'local', 
      name: 'avgTimeMax' 
     }, { 
      xtype: 'displayfield', 
      value: '+/-', 
      width: '20px' 
     }, { 
      xtype: 'numberfield', 
      mode: 'local', 
      name: 'avgTimeAcc' 
     }] 
    }] 
}); 

有没有人对如何去这个建议?

回答

1

我不认为有可能使用复合字段和字段标签来完成您的建议。字段标签严格用于文本,这就是为什么你看到[Object object]。然而,如果你想避免额外的列,你可以尝试改变fieldLabel's Xtemplate以包含一个下拉列表(不过,我会主张不同的设计你的应用程序会比这更好)。