如何更改 Ext js 组合框中某些值的索引

Posted

技术标签:

【中文标题】如何更改 Ext js 组合框中某些值的索引【英文标题】:How to change the index of some value in Ext js combobox 【发布时间】:2014-05-08 11:58:11 【问题描述】:

我有一个组合框从服务器端获取值列表。当我添加一个新的 db 中的值,它将反映在组合框的最后一个索引处。我的要求是 对于给定的值,我想将索引更改为零。

例如,如果我添加 x 和 y 作为新值,现在我想更改 x 的索引为零。

我的组合框代码:


    xtype : 'combo',
    //typeAhead : true,
    triggerAction : 'all',
    name : 'agreementTypeCombo',
    id : 'agreementTypeCombo',
    //hiddenName : 'agreementTypeCombo',
    editable : false,
    mode : 'local',
    store : new Ext.data.JsonStore(

        fields : [
                    name : 'id',
                    mapping : 'id'
                , 
                    name : 'label',
                    mapping : 'label'
                

        ],
        idProperty : 'id',
        data :  MD_updateOpportunityMasterDataVO.agreementTypeList
    ),
    valueField : 'id',
    displayField : 'label',
    //emptyText : CONST_NOT_AVAILABLE,
    fieldLabel : 'Agreement Type',
        labelStyle: 'font-weight:bold;',
    helpText : getFieldTip(MODULE_NAME,CATEGORY_SALES_SUMMARY,'Agreement Type'),
    //allowBlank : false,
    anchor : '95%',
    value : opportunityVO.agreementTypeId

【问题讨论】:

使用店铺insert指定位置。 可以在每条记录中添加额外的id字段,然后在store load的回调函数中对所有记录进行排序。 你到底想要什么? 【参考方案1】:

如果你在本地添加它,使用

store.insert(0, newItem);

如果您在服务器上添加它然后重新加载,则服务器必须按所需顺序返回组合存储记录。

【讨论】:

以上是关于如何更改 Ext js 组合框中某些值的索引的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Extjs 的组合框中传递树存储

保留数据框中的行,对于某些列的值的所有组合,在另一列中包含相同的元素

如何更改代码以使组合框显示 displayField 值列表

在Winform的组合框中获取旧的选定索引

如何根据从其他框中选择的文本更改动态创建的组合框的显示项

如何将数据加载到组合框中?