2

CGridView コンポーネントの DataProvider として使用される配列の値を使用して htmlOptions を設定しようとしています (これは CArrayDataProvider です)。その中には、0 または 1 のいずれかになるフラグがあります (font-weight の場合は 0: 通常、太字の場合は 1)。

'htmlOptions'=>array('style'=>'$data["flag"] == 1 ? font-weight: bold; : font-weight: normal;'),

うまくいかなかったので、DataProvider で直接スタイルを設定しようとしました (font-weight: bold; または font-weight: normal; を返します):

'htmlOptions'=>array('style'=>'$data["style"]'),

しかし、出力は次のとおりです。

<td style="$data["style]">Value</td>

私は何を間違っていますか?

4

3 に答える 3

4

$dataでまたは $row を使用することはできませんhtmlOptions。を延長する必要がありCDataColumnます。

その方法については、この記事を参照してください。

于 2012-05-08T17:59:51.683 に答える
1

htmlOptions は $data にアクセスできません。だからあなたはこれを試すことができます

'value' => '($data["flag"] == 1 ? "<b>$data->your_value</b> ":"$data->your_value")',
于 2015-02-02T18:20:14.220 に答える