2017-09-11 15 views
0

をペイントするために、私は次の情報をitemselector持っているか:ExtJSの6 ItemSelectorプログラムで、私はExtJSのに6.0.2を使用していた行

       { 
             xtype: 'itemselector', 
             name: 'itemselector', 
             id:'issuerSelector', 
             buttons: ['add', 'remove', 'allleft','allright'], 
             height: 300, 
             width: '30%', 
             store: 'ItemsStore', 
             displayField: 'code_isin', 
             valueField: 'id_valeur', 
             fromTitle: "fromList", 
             toTitle: 'toList', 
             listeners: { 
              afterrender: function (selector) { 
               selector.onDisable(); 
              }, 
              change: 'someFuncHere' 
             }, 
           } 

を何私が欲しいのは、itemselectorデータをロードした後、いずれかでありますリスト "fromField" 上のデータ:

flag : 1 

...別々に塗装する必要があります。 (注::変更の後ではなく読み込み時にこれを認識したいので、このために "onChange"イベントを実行したくありません)。 、新しいCSSがある場合は削除しても、

Ext.getCmp('issuerSelector').viewConfig = { 
        getRowClass : function(record) { 
         if (record.data.flag == 1) { 
          return 'newCss'; 
         } 
        } 
       } 

...しかし、いくつかの理由CSSは表示されません。

私はItemSelectorのafterrenderにこれを使用しようとしましたitemSelectorには決して適用されませんでした(この標準はグリッドで機能します)。ですから、誰かが私にこの問題の解決策を見つけるのを助けることができるかどうか聞いています。

答えて

1

レンダリング中にビューに既にviewConfigが適用されているという問題があります。

あなたがチェックしたいかもしれないのは、grid.getView().getRowClass = function() ...が機能するかどうかです。

+0

グリッド.getView()。getRowClass、Ext.getCmp(...)を実行しようとするとありがとうございます。getViewは関数ではありません – Chazz1

+1

@ Chazz1次に、コンポーネントがグリッドではありません。グリッドがあることが確実であれば、グリッドを最初に見つけなければならない場合があります。 'grid = component.down( 'grid')'などを使って、どのようなコンポーネントからでもグリッドを取得しようとすることができます。 Ext.ComponentQuery.query( "grid")を使用してグリッドがあるかどうかを確認することができます。このグリッドは、アプリケーションでレンダリングされるすべてのグリッドのリストを提供します。 – Alexander

関連する問題