我在我的yii CGridview中有三行,並有兩種類型的用戶登錄。我必須根據用戶的類型隱藏三行中的一行。請幫助。Yii CGridview隱藏行
0
A
回答
1
使用條件語句是這樣的:
public function newsearch()
{
$id= Yii::app()->user->id;
if($id = Your conditon){
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
Your Criteria to display
} else {
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
Your Criteria to display
}
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
,並呼籲該數據提供程序在你的GridView的數據提供商。
1
在模型中添加
公共靜態方法 例如:
class Post extends CActiveRecord {
public function tableName() {
return 'posts';
}
public function rules() {
return array();
}
public function attributeLabels() {
return array();
}
...
public static function rulesUser() {
if (Yii::app()->user->id = 1) {
return True;
} else {
return False;
}
}
添加在你的GridView的行:
$this->widget('zii.widgets.grid.CGridView',
array(
'id' => 'posts-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'emptyText' => '',
'columns' => array(
'id',
'title',
'post',
'date_create',
array(
'name' => 'status',
'visible' => Posts::rulesUser(),
)
array(
'class' => 'CButtonColumn',
),
),
)
);
+0
你能解釋一下嗎? –
+1
是的,我編輯答案。 –
+0
我必須補充說,你有一個錯字..是'if(Yii :: app() - > user-> id == 1){'..再次感謝 –
0
或添加模型
public $visible = True;
在你搜索如果添加或你的GridView
切換
public function search()
{
$criteria = new CDbCriteria;
...
if (any if){
$this->visible = 1;
}
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
));
}
...
array(
'name' => 'value',
'visible'=>$model->visible,
)
...
0
我已經通過調理解決的任務CDbCriteria
如下,
if(!Yii::app()->session["admin"])
{
$criteria->condition='t.unique_id!="i-8874c6e3"';
}
謝謝大家。
相關問題
- 1. 如何用Yii隱藏cgridview過濾器?
- 2. Yii - CGridView
- 3. 的Yii CGridView隱藏濾波器輸入僅
- 4. YII CGridView錯誤
- 5. 打印CGridView - Yii
- 6. Yii CGridView分頁
- 7. Yii的CGridView更新
- 8. Yii CGridView和按鈕
- 9. Yii DatePicker CGridView日期
- 10. Yii Cgridview動態列
- 11. Yii - 如何基於用戶級別隱藏/查看CGridview中的按鈕?
- 12. 無法拖動的Yii CGridview行更新
- 13. Yii奇怪的行爲:CGridView +組+
- 14. Yii CGridView - 拖拽和選擇行
- 15. yii CJuiDatePicker隱藏文本框
- 16. Yii Framework如何隱藏index.php?
- 17. yii - 創建嵌套的cgridview
- 18. Yii CGridView按ID排序
- 19. CArrayDataProvider與CGridView分頁Yii
- 20. Yii從CGridView下載文件
- 21. yii cgridview排序不工作
- 22. Yii CGridView和SQL計數
- 23. Yii CGridview與CSqlDataProvider排序
- 24. Yii:使用CGridView和CListView CMarkdown
- 25. yii CGridView日期範圍
- 26. yii CGridView初始排序
- 27. Yii的視圖,在CGridView
- 28. Yii CGridview與關係模型
- 29. Yii CgridView批量刪除
- 30. cgridview中的if/else值 - yii
網格視圖的數據通常來自數據提供者。根據登錄類型修改創建數據提供者或其數據源的行爲不同的代碼。 – DCoder