1

コンボボックスでデータの並べ替えに問題があります。

データ ソースは JSON です。データは sql でソートされます。結果セット(SQL内)とJSON結果は問題ないようです:

{"rows":[{"id":"TOT","txt":" Alle diagnosen"},{"id":"612","txt":"(acute) bloeding distale tract. digestivus*"},{"id":"042","txt":"(auto)-intoxicatie"},{"id":"402","txt":"(benigne) peptisch ulcus*"},{"id":"10","txt":"(bij)niertumor"},{"id":"652","txt":"(chorio)retinitis.. etc etc

firebug を使用してストアを検査すると、結果のデータは問題ないように見えます (= JSON の結果と同じソート順)。

ここに画像の説明を入力

ただし、結果のコンボボックスには異なる (間違った) 並べ替えがあります (最初の 2 つは問題ありません)。

ここに画像の説明を入力

表示値でも id 値でもソートされません。どこにも追加されたソーターはありません。

コンボ:

{
    xtype: 'combobox',
    id: 'ComboDiag',
    itemId: 'ComboDiag',
    width: 280,
    fieldStyle: '',
    name: 'ComboDiag',
    fieldLabel: 'Diagnose',
    labelWidth: 90,
    displayField: 'txt',
    queryMode: 'local',
    store: 'ComboDiagStore',
    typeAhead: true,
    valueField: 'id',
    listeners: {
        render: {
            fn: me.onComboDiagRender,
            scope: me
        }
    }
}

店:

Ext.define('AppPitDash.store.ComboDiagStore', {
    extend: 'Ext.data.Store',
    alias: 'store.ComboDiagStore',
    requires: [
        'AppPitDash.model.ComboDiagModel'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            autoLoad: true,
            storeId: 'ComboDiagStore',
            model: 'AppPitDash.model.ComboDiagModel',
            proxy: {
                type: 'ajax',
                url: './php/get-data-diagCombo.php',
                reader: {
                    type: 'json',
                    root: 'rows'
                }
            }
        }, cfg)]);
    }
});

モデル:

Ext.define('AppPitDash.model.ComboDiagModel', {
    extend: 'Ext.data.Model',

    fields: [
        {
            name: 'id'
        },
        {
            name: 'txt'
        }
    ]
});

初めて Sencha Architect 2 を使用しています。

これはショーストッパーというよりもむしろ迷惑ですが、それでも助けていただければ幸いです。

4

2 に答える 2

1

ストア定義のメソッドに追加remoteSort: trueしてみてください。callParent

于 2012-05-24T14:44:09.393 に答える
0

使用してみてください:

remoteGroup: true,
remoteSort: true, 
sortInfo: { field: 'order', direction: 'DESC' },
于 2012-05-24T15:57:55.967 に答える