簡體   English   中英

Yii CArrayDataProvider關鍵字段作為CGridView中的按鈕ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM