2016-03-29 5 views
0

検索契約にページネーションとフィルタを追加する必要があります。 私はSearchContractInfoというクラスを持っています。SearchContractInfoは、ページネーションとファイラーをそれぞれ実装するために 'Ext.ux.data.PagingStore'と 'Ext.data.Store'を拡張する必要があります。ExtJSで2つのクラスを拡張するには?

クラスはExtJSで2つのクラスを拡張することはできません。 2つのクラスを拡張する代替ソリューションは何ですか?

問題点「Ext.ux.data.PagingStore」を拡張すると、ページネーションが機能し、フィルタには影響しません。

私が 'Ext.data.Store'を拡張すると、フィルタは機能しますが、ページネーションは機能しません。

一緒に作業するには、ページネーションとフィルタの両方が必要です。

誰かが解決策を思い付くことができたら、大きな助けになるでしょう。

コードスニペット:

Ext.define( 'CLAdmin.store.SearchContractInfo'、{

//extend: 'Ext.ux.data.PagingStore', 
extend:'Ext.data.Store', 
model: 'CLAdmin.model.administration.SearchContractInfo', 
pageSize: 30, 
lastOptions: {start: 0, limit: 30, page: 1}, 
proxy: { 
    type: 'direct', 
    directFn: 'contractAction.searchContracts', 
    reader: { 
     root: 'records' 
    }, 
    extraParams: { 
     searchCriteria: undefined 
    }, 
    listeners: { 
     exception: function(me, response, operation, eOpts) { 
      var msg = "Application unavailable.Please try after some time"; 

      Ext.Msg.show({ 
       title: 'Application', 
       msg: msg, 
       buttons: Ext.Msg.OK, 
       icon: Ext.Msg.ERROR 
      }); 

     } 
    } 
}, 
sorters: [ 
    { 
     property: 'customerNumber', 
     direction: 'ASC' 
    }, 
    { 
     property: 'startDate', 
     direction: 'DESC' 
    } 
] 

})。

おかげで、 Amith

答えて

1

使用mixins

オブジェクト指向のプログラミング言語で

、ミックスインは が 親クラスもしなくても、他のクラスで使用するためのメソッドが含まれていることをクラスでありますそれらの他のクラスの。どのように他のクラスが mixinのメソッドへのアクセスを得るかは、言語によって異なります。ミックスインは、「継承」ではなく、「含む」と時々説明される です。このクラスにミックスするクラスの

リスト:あなたがクラスを定義するとき

あなたはmixinsを渡すことができます。

Ext.define('CanSing', { 
    sing: function() { 
     alert("For he's a jolly good fellow...") 
    } 
}); 

Ext.define('Musician', { 
    mixins: ['CanSing'] 
}); 

このケースでは、ミュージシャンクラスはCanSing mixinからsingメソッドを取得します。

あなたのミックスインはExt.Mixinを拡張することができます。

このクラスは、ミックスインの基本クラスです。これらは、このクラスを拡張して のクラスであり、ユーザコードによってミックスインとして使用されるように設計されています。

これは、混合されたクラスのクラスメソッドの「フック」機能を持つmixinsを提供します。たとえば、破棄方法パターン を考えてみましょう。 mixinクラスがクリーンアップ要件を持っていた場合、破壊の一部として を呼び出す必要があります。

関連する問題