[英]customize sort up/down Yii CGridView button
因此,我想在CGridView中創建一個新按鈕。 這是向上和向下箭頭按鈕,將用於對我的文章進行排序。 我已經閱讀了很多有關如何制作這種按鈕的信息。 在此鏈接中,我已經閱讀了有關如何使用此CGridView按鈕的Wiki。
現在我認為這是:
array(
'header' => 'Action',
'class' => 'CButtonColumn',
'template' => '{moveup}{movedown}{view}{delete}',
'htmlOptions' => array('style' => 'width: 68px'),
'buttons' => array
(
'moveup' => array
(
'label' => 'Move Up',
'imageUrl' => Yii::app()->request->baseUrl . '/images/move_up.png',
'url' => 'Yii::app()->createUrl("KB/moveup", array("id"=>$data->KBID))',
'visible' => '$data->KBORDER == KB::model()->getMax()',
),
'movedown' => array
(
'label' => 'Move Down',
'imageUrl' => Yii::app()->request->baseUrl . '/images/move_down.png',
'url' => 'Yii::app()->createUrl("KB/movedown", array("id"=>$data->KBID))',
'visible' => '$data->KBORDER == KB::model()->getMin()',
),
),
),
這是我模型中的:
public function getMax(){
$sql = 'SELECT MAX(KBORDER) FROM KB';
$max = Yii::app()->db->createCommand($sql);
$max->queryAll();
return $max;
}
public function getMin(){
$sql = 'SELECT MIN(KBORDER) FROM KB';
$min = Yii::app()->db->createCommand($sql);
$min->queryAll();
return $min;
}
所有這些代碼都運行良好。 除了能見度。 我要使向上按鈕在KBORDER的最大值或位置位於第一位時不可見。 對於下移按鈕,當其具有最低KBORDER值或位於最后位置時,它也應該是不可見的。 但是,當我將該代碼置於“可見”狀態時,所有按鈕都是無敵的。 所以我的問題是, 如何使我的請求發生?
提前致謝
首先, queryAll
返回一個數組。 文件資料 。 因此,您可能應該使用queryScalar
,並且應該從函數而不是命令對象返回結果。
return $max->queryScalar();
您也可以在Yii中使用統計查詢 。
其次,當按鈕不在頂部或底部時,您要顯示按鈕,因此應取消=
'visible'=>'$ data-> KBORDER!= KB :: model()-> getMax()',
和
'visible'=>'$ data-> KBORDER!= KB :: model()-> getMin()',
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.