9

Yii では、CGridView の行に独自の背景色があります。しかし、私がやりたいのは、列の値に基づいて特定の行を強調表示することです。

たとえば、id、name、status の 3 つの列があります。ここで、ステータスの値が非アクティブまたは 0 の場合、行を色で強調表示する必要があります。

クラスリファレンスを簡単に読み、このサイトも検索しました。しかし、関連する解決策が見つかりませんでした。いくつかの例または正しい解決策への方向性があれば、それは大歓迎です。

ありがとう、ウジワル

4

2 に答える 2

20

CGridView 'rowCssClassExpression'は、必要なものを取得する方法です。

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'rowCssClassExpression'=>'($data->myFlag==0)?"normal":"especial"',
    'columns'=>array(
    ...
    ),
));

カスタム php 関数を呼び出して、$data 変数を渡すこともできます。その関数は、指定された行のクラス名を返す必要があります:)

于 2012-06-18T07:37:06.683 に答える
1

機能にはrowCssClassとrowCssClassExpressionを使用してください。私はこのコードをテストしていませんが、解決策を得るために使用できるトリックです。

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'rowCssClass'=>array('odd','even'),
    'rowCssClassExpression'=>($data->status==0)?even:odd,
    'columns'=>array(
    ),
));
于 2012-06-18T05:44:20.510 に答える