2013-08-21 79 views
0

我想更改组合框中选定的记录显示顺序。原因在于,从屏幕截图中可以看到,组合框列表很长,因此员工无法轻松查看选定的值。是否有任何方法/功能根据所选记录索引更改显示值排序顺序?如何更改组合框的选择值显示顺序

enter image description here

+0

我认为真正的问题可能是一个组合框的路要走。如果它足够长,您必须对其进行分类,那么您可能想要考虑替代方案。 –

+0

尊敬的杰夫,我这么认为,但是员工不知道记录的名字。 –

+0

不会多个选择组合是一个更简单的方法?请参阅[本页]上的第三个示例(http://docs.sencha.com/extjs/4.2.0/#!/example/form/combos.html)。 – rixo

回答

0

可以sortcustom function商店。这将反映在组合框中。

这将是这样的:

combo.getStore().sort([{ 
    sorterFn: function(a, b) { 
     if (a.get('selected')) { 
      if (b.get('selected')) { 
       return a.get('name').localeCompare(b.get('name')); 
      } else { 
       return -1; 
      } 
     } else if (b.get('selected')) { 
      return 1; 
     } else { 
      return a.get('name').localeCompare(b.get('name')); 
     } 
    } 
}]); 
+0

亲爱的rixo,如果我没有弄错'a,b ''选择的值和目标值,对吗? –

+0

'a'和'b'是两个要比较的记录,'-1'的返回值表示一个在'b'之前,'1'为反向,'0'表示他们具有相同的顺序(参见文档['sorterFn'](http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.util.Sorter-cfg-sorterFn))。 – rixo

+0

The我的示例代码存在的问题是,我不知道如何处理记录的选择状态,因此我假设它将反映在记录的某个字段中(在我的示例中为“selected”)。 – rixo