2015-12-10 188 views

答えて

10

前の回答が多少時代遅れである(ただし、依然として正しいと作業)と今は上いくつかのより多くの制御を持っている場合は、行の色を変更しますグリッドのスタイリングあなたはこのように、この仕事のためにgetRowStyle(params)を使用することができます。

gridOptions.getRowStyle(params) { 
    if (params.data.myColumnToCheck === myValueToCheck) { 
     return {'background-color': 'yellow'} 
    } 
    return null; 
} 

もちろん、myColumnToCheckはあなたが照らし合わせて値をチェックしている列になります(同じ名前あなたcolDefオブジェクトのID /フィールドのプロパティで入力) 、myValueToCheckは、列がすべて黄色にするために必要な列の値になります。

+0

これはag-gridサイト(http://angulargrid.com)には記載されていないようですが、それは動作します:)個々のセルを個別にスタイルする必要があります。 –

+1

この機能が有効になっているときに、選択した行の色がどのように機能するか知っていますか?カスタムのgetRowStyleが有効になっているときに、選択した行が背景色を変更しなくなったことに気付きました。 – Jafin

+0

gridOptionsのgetRowClassが機能しないようです。スタイルのCSSクラスを使用することをお勧めします。 – goodies4uall

0

1つのコマンドで行全体の背景色を変更することはできません。 columnDefscellStyleコールバック設定を介して行う必要があります。このコールバックは、行の各セルごとに呼び出されます。すべてのセルの色を変更して行の色を変更する必要があります。

はあなたがすべてのあなたの列のためにこれを行う必要があり、次のカラム定義

{ 
    headerName: "Street Address", field: "StreetAddress", cellStyle: changeRowColor 
} 

を参照してください。

ここにはchangeRowColorの機能があります。

function changeRowColor(params) { 

    if(params.node.data[4] === 100){ 
     return {'background-color': 'yellow'};  
    } 

} 

第3のセルの値は100

1

Answer 2は正しいですが、使用される構文が間違っていて、いくつかの問題が発生しました。たとえば、答え2のコードを最小化しようとしました。それはうまくいったが、私が見る限り、それは正しい構文ではない。

注、これはインラインで行うことができ、または外部 機能、2つの異なる方法で:

別の関数:

vm.gridOptions = { 
    columnDefs: columnDefs, 
    getRowStyle: getRowStyleScheduled 
} 

function getRowStyleScheduled(params) { 
    if (params.selected && params.data.status === 'SCHEDULED') { 
     return { 
      'background-color': '#455A64', 
      'color': '#9AA3A8' 
    } 
    } else if (params.data.status === 'SCHEDULED') { 
     return { 
      'background-color': '#4CAF50', 
      'color': '#F4F8F5' 
     }; 
    } 
    return null; 
}; 

インライン:

vm.gridOptions = { 
    columnDefs: columnDefs, 
    getRowStyle: function(params) { 
     if (params.selected && params.data.status === 'SCHEDULED') { 
      return { 
       'background-color': '#455A64', 
       'color': '#9AA3A8' 
      }; 
     } else if (params.data.status === 'SCHEDULED') { 
      return { 
       'background-color': '#4CAF50', 
       'color': '#F4F8F5' 
      }; 
     } 
     return null; 
    } 
} 
+0

私は答え2は既にインスタンス化されたグリッドで動作すると思います。私はグリッドをリフレッシュしなければならないと信じています。私の答えは、インスタンス化の前にグリッド設定に向けられています。 –

0

Iは、異なる色を設定します偶数行と奇数行の場合は、どのような方法でも実行できます。

$scope.gridOptions.getRowStyle = function getRowStyleScheduled(params){  
     if(parseInt(params.node.id)%2==0) { 
      return {'background-color': 'rgb(87, 90, 90)'} 
     }else { 
      return {'background-color': 'rgb(74, 72, 72)'} 
     } 
    }; 
関連する問題