2

私は 2 つのグリッドを持っており、これらのグリッドの両方が同じ store から自動的に入力されPersonます。

私が抱えている問題は、最初のグリッドで、すべてのスポーツとそのプレーヤーの数をロードすることです。2 番目のグリッドでは、スポーツで獲得したメダルと金メダルの数のみを表示しSportID = 3ます。これどうやってするの ?グリッドをロードすると、すべてが読み込まれます

 {
                    xtype: 'gridpanel',
                    title: 'ALl Sports',
                    store: 'Person',
                    columns: [
                    {
                            xtype: 'gridcolumn',
                            dataIndex: 'SportID',
                            text: 'Sport ID'
                        },
                        {
                            xtype: 'gridcolumn',
                            dataIndex: 'SportName',
                            text: 'Sport Name'
                        },                        
                        {
                            xtype: 'gridcolumn',
                            dataIndex: 'NoOfPlayers',
                            text: 'No Of Players'
                        }
                    ]
                },
                {
                    xtype: 'gridpanel',
                    title: 'Sport Medals for Sport ID 3',
                    store: 'Person',
                    columns: [
                        {
                            xtype: 'gridcolumn',
                            dataIndex: 'noOfMedals',
                            text: 'No Of Medals'
                        },
                        {
                            xtype: 'gridcolumn',
                            dataIndex: 'NoOfGold',
                            text: 'No Of Gold'
                        }
                    ],

私は 2 つのグリッドを持っており、これらのグリッドの両方が同じ store から自動的に入力されPersonます。これらの 2 つのグリッドはウィンドウにあります。ウィンドウが読み込まれると、次のようにグリッドに入力します。

更新 1 ##############################3

var personStore = Ext.getStore('Person');
var r = personStore.getAt(0);
personStore.on('load', function() {
    r = personStore.getAt(0);
st.filter({
    filterFn: function(rec) {
        return rec.get('PersonId') == r.get('PersonId'); 
    }


});
personStore.load();
########################3

ただし、両方のグリッドに同じデータ セットが入力されます。私が欲しいのは、すべてのスポーツ情報をグリッド 1 ( sportIDsportNamenoOfPlayers) に表示し、スポーツ情報を表示 ( noOfMedalsnoOfGolds)することWHERE sportId='3'です。これどうやってするの ?

4

2 に答える 2

4

簡単な答え - できません。同じストアで同時に 2 つの異なるグリッドを表示する必要がある場合は、ストアを複製して別のコピーを作成する必要があります。

同時にない場合は、フィルタリングを使用して、グリッドが表示される前に 1 つのストアをフィルタリングできます。

于 2012-07-30T10:29:33.553 に答える