2012-06-18 45 views

回答

1

您可以擴展CGridView以添加該功能。

或者對rowCssClassExpression有些不好意思。

'rowCssClassExpression' => '\'" data-id="\' . $data->rowID' 
4

現代溶液(自的Yii 1.1.13)

這是現在能夠使用rowHtmlOptionsExpression屬性,該屬性允許指定任意的HTML屬性每個渲染錶行做。例如:

'rowHtmlOptionsExpression' => '["id" => $data->id]' 

原來的答覆(舊版)

不能直接因爲CGridView不支持它,但是有幾個簡單的解決方案,你可以嘗試的。

子類CGridView(好)

簡單地創建自己的類MyGridView extends CGridView並重寫renderTableRow方法吐出IDS的每一行上。看看the stock implementation,這對於class屬性確實是你想要爲id屬性做的事情。

使用CSS類,而不是(不太好)的class屬性

來說,rowCssClassExpression屬性可以用來動態生成類的開箱。恕我直言,這是一個糟糕的解決方法,但它在那裏。

+0

你並不需要繼承CgridView,如Chung說(http://stackoverflow.com/a/18711448/ 1396839)可以使用rowHtmlOptionsExpression將屬性傳遞給表格的TR標籤。此外,您可以傳遞具有許多屬性的數組,而不僅僅是id。 – alvaropgl

+1

@alwar:今天確實如此,但當時我沒有寫這個答案 - 'rowHtmlOptionsExpression'只是[在Yii版本1.1.13中添加的](http://www.yiiframework.com/files/CHANGELOG- 1.1.13.txt)。我正在更新相應的答案。 – Jon

8

CGridView有一個名爲「rowHtmlOptionsExpression」的選項,你可以聲明,如以下指定行的一個ID

'rowHtmlOptionsExpression' => 'array("id"=>$data->id)', 

它比黑客進入「rowCssClassExpression」

祝好!

-2

CGridView.rowHtmlOptionsExpression是不確定的

我不認爲我們可以用rowHtmlOptionsExpression

相關問題