[英]Yii CArrayDataProvider Keyfield As Button Id In CGridView
我的問題有兩個方面。 首先,我無法正確設置CArrayDataProvider的keyField,我得到的只是字符串而不是值。 其次,我試圖使用CArrayDataProvider內部的keyField在CGridView內部每一行的按鈕上設置一個id。 我想這樣做的原因是,我可以將id值向前傳遞給ajax函數(如果在Yii中有更好的方法可以做到這一點,那么我真是耳目一新)。 任何幫助將不勝感激,在此先感謝!
我也曾在Yii的論壇上發布過這個問題。 我通常不會轉發,但是我很難在那兒得到答案,與堆棧溢出相反,你們是最好的! 如果有人感興趣, 這是我原始帖子的鏈接 。
這是我如何構建用作RAW數據的數組:
foreach ($items as $item) {
$tableRow = array("id"=>$item["Id"], "Organization"=>$item["Organization"], "Roles"=>$item["Roles"]);
$return_items[] = $tableRow;
}
這是我正在使用的CArrayDataProvider設置。 我注意到'keyField'沒有被賦予id值,只是字符串'id':
$dataProvider=new CArrayDataProvider($return_items, array(
'keyField'=>'id',
'sort'=>array(
'attributes'=>array(
'Organization',
'Roles',
),
),
'pagination'=>array(
'pageSize'=>10,
),
));
最后,這是我嘗試在視圖中設置的CGridView。 按鈕上顯示的只是id標記,但沒有值:
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$authItems,
'columns'=>array(
'Organization',
'Roles',
array('name'=>'',
'type'=>'raw',
'htmlOptions'=>array('id'=>'id'),
'value'=>'CHtml::button("Edit Roles", array("data-toggle"=>"modal", "data-target"=>"#roles-modal"))'),
),
));
嘗試通過已應用的CHtml :: button傳遞它。 例如
'value'=>'CHtml::button("Edit Roles", array(
"id"=>$data["id"],
"data-toggle"=>"modal",
"data-target"=>"#roles-modal"
))'),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.