2016-04-13 6 views
-1

extjsグリッド内の行を強調表示するには、グリッドと行の詳細を指定します。 plsがそれを行うための他の方法を提供していない場合。グリッド内の行を強調表示する - extjs

mygrid.getSelectionModel().selectRows(array,keep current selections); 

上記の行は、デフォルトの色で強調表示します。色をカスタマイズする方法はありますか?

答えて

1

行を選択して強調表示するか、選択せずに強調表示するかはわかりません。

次の記事は、あなたがExtJSのスタイリンググリッドについて知っておくべきほぼすべて含まれています:「スタイリング行」の下http://skirtlesden.com/articles/styling-extjs-grid-cells

をそれは言う:多くの場合

行のためのスタイリングは、データに依存していますその行のために。そのデータは、ストア内のレコードによって表されます。カスタムCSSと

Ext.create('Ext.grid.Panel', { 
    ... 
    viewConfig: { 
     stripeRows: false, 
     getRowClass: function(record) { 
      return record.get('age') < 18 ? 'child-row' : 'adult-row'; 
     } 
    } 
}); 

::私たちは、コンフィグオプションgetRowClassを使用してレコードに基づいて要素にCSSクラスを追加することができ、これはあなたが探しているものであるかどうかを

.child-row .x-grid-cell { 
    background-color: #ffe2e2; 
    color: #900; 
} 

.adult-row .x-grid-cell { 
    background-color: #e2ffe2; 
    color: #090; 
} 

わかりませんしかし、あなたは完全な記事を見ることができます、私はそこにあなたの質問への答えを見つけると確信しています。

ただ、特定のグリッドで選択した行の色をカスタマイズすると、グリッド上の特定のbodyClsを定義することによっても完全に可能である(例えばbodyCls:"mygrid")と、対応するカスタムスタイル:

.mygrid .x-grid-item-selected .x-grid-cell { 
    background-image:none; 
    background-color:#fc0; 
} 
+1

実際に問題がある:私は持っていますユーザーがグリッドを編集して保存するときに、検証を行い、不正確な行を強調表示する必要があります。受け入れ可能な値が提供されるまでハイライト表示する必要があります。 –

+0

これは 'getRowClass'で行うのが簡単です。検証ロジックを 'getRowClass'関数に入れるだけです。 – Alexander

関連する問題