2017-03-07 1 views
1

Extjsを使用しています。background-colorをグリッドの行から変更したいと考えていました。これまでのところ、私はただ一つの色を変えるしかなかった。ここでEXTjs ViewConfig rowclass

私が持っている私のCSSファイルで私のViewConf

viewConfig: { 
     getRowClass: function (record, index) { 
      switch (record.get('status')){ 
       case 'load': return 'blue-row';break; 
       case 'miss': return 'blue-row';break; 
       case 'Active': return 'green-row';break; 
       default: return 'white-row'; break; 
      } 
     } 
    } 

です:CSSリストの中だけで最初に塗装されて

.green-row .x-grid-cell { 
background-color: #43CE45 ; 
}​ 
.white-row .x-grid-cell { 
background-color: #FFFFFF ; 
}​ 
.blue-row .x-grid-cell { 
background: #C4C4C4; 
}​ 

、その他は無視されます。この場合、緑色の行は緑色に塗りつぶされ、その他の色は塗りつぶされません。私が順序を変えれば、拳だけがグリッドにペイントされます。

グリッド行に複数の色を設定するにはどうすればよいですか?私が見たすべての例では、プライマリとデフォルトの2色を使用しています。

ありがとうございます!

+0

あなたはクラスが適用されていますか?それらを動かすことが違いを生むのは実際には意味がありません。また、これらのブレークは冗長です。 –

+0

はい、ブラウザのコンソールスタイルタブでチェックしました。行のデータが変更された場合、実行時に割り当てられ、変更されます。私はまた、他のどの部分でも上書きルールをチェックした。 –

+0

クラスが一致する色が適用されるため、テストケースを投稿することをお勧めします。https://fiddle.sencha.com/#view/editor&fiddle/1rl5 –

答えて

0

おそらくrecord.get('status')での検証は、missActiveの場合には該当しません。
あなたのプログラムをデバッグしてみて、これを行うことにより、ステータスを確認します

viewConfig: { 
     getRowClass: function (record, index) { 

      console.log('status => ' + record.get('status')); 

      switch (record.get('status')){ 
       case 'load': return 'blue-row';break; 
       case 'miss': return 'blue-row';break; 
       case 'Active': return 'green-row';break; 
       default: return 'white-row'; break; 
      } 
     } 
    } 

See that fiddle case is working

+1

OPは、コメントがクラスが正しく適用されていると言った。 –

+0

はい、そうです。私は、ここでの問題は状態の検証であると信じています!たぶん彼は決して「ミス」や「アクティブ」になることはありません –

+0

私はすでに 'console.log'を使って、最初のロード時に割り当てられているクラスをチェックし、ステータスカラムが変更された時に実行時に変更されました。常にクラスを正しいクラスに変更しますが、まだCSSの最初の部分だけをペイントします。 –