Extjs4 如何在TypeAhead上查询ComboBox的显示字段
使用ExtJS 4.2.1,当用户开始键入组合的输入字段时,如何编写“组合”框来查询显示字段而不是valueField 以下是我对组合框的设置:Extjs4 如何在TypeAhead上查询ComboBox的显示字段,extjs4,Extjs4,使用ExtJS 4.2.1,当用户开始键入组合的输入字段时,如何编写“组合”框来查询显示字段而不是valueField 以下是我对组合框的设置: xtype: 'combo', itemId: 'usersCbo', width: 450, forceSelection: true, fieldLabel: 'Assign Selected TestRuns To', labelAlign: 'right', labelWidth: 180
xtype: 'combo',
itemId: 'usersCbo',
width: 450,
forceSelection: true,
fieldLabel: 'Assign Selected TestRuns To',
labelAlign: 'right',
labelWidth: 180,
queryMode: 'local',
valueField: 'USERNAME',
displayField: 'FULLNAMES',
triggerAction: 'all',
typeAhead: true,
allowBlank: false,
store: Ext.create('Ext.data.Store', {
storeId: 'testRunUsersStore',
autoLoad: true,
pageSize: 1000,
proxy: {
type: 'ajax',
url: 'app/php/stores/Test_Run/testEngineers.php',
reader: {
type: 'xml',
record: 'Record',
root: 'Records',
totalProperty : '@totalRecords'
}
},
fields: [
{ name: 'USERNAME', type: 'string' },
{ name: 'FULLNAMES', type: 'string' }
],
sortOnLoad: true,
sorters: { property: 'USERNAME', direction: 'ASC' }
})
这篇博文中详细介绍的解决方案解决了我的问题。似乎我需要一种方法来使匹配不区分大小写。的确,匹配是在displayField的原始值上完成的
是的,我意识到了这一点,但有没有办法覆盖匹配的字段?如果您想显示不同的内容,请使用模板方法调整显示形状。我不明白问题是什么。问题是:你已经有一个组合加载了数据(如上面的代码)。当您开始在组合框中键入时,它将匹配以您键入的字符开头的记录。在我看来,它是基于valueField而不是displayField进行匹配的。是不是这样,如果是这样,您如何使它匹配显示字段中的任何位置?这与combobox API文档中的示例不同