【发布时间】:2015-05-01 12:17:02
【问题描述】:
你能检查一下为什么过滤在 CGridView 中不起作用吗?当我在过滤器字段中输入 exaple 'Adam' 时,什么也没有发生。我找不到我的错误,一切看起来都很好,但没有工作。我帮助写了那篇文章:Yii: CGridView Filter examples
控制器
<?php
class UzytkownikController extends CController
{
public function actionIndex()
{
$Dane = new Uzytkownik('search');
$Dane -> unsetAttributes(); // clear any default values
if(isset($_GET['Uzytkownik']))
{
$Dane->attributes=$_GET['Uzytkownik'];
}
$this -> render ('index', array(
'Dane' => $Dane,
));
}
}
?>
型号
<?php
class Uzytkownik extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function search()
{
$criteria = new CDbCriteria;
$criteria -> compare('imie', $this -> imie, true);
return new CActiveDataProvider($this, array(
'criteria' => $criteria,
)
);
}
}
?>
WIEV
<?php
$this -> widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $Dane -> search(),
'filter' => $Dane,
'columns' => array(
array(
'name' => 'imie',
'type'=>'raw',
),
array(
'name' => 'nazwisko',
'type'=>'raw',
'filter' => false,
),
array(
'name' => 'data',
'filter' => false,
),
),
)
);
?>
【问题讨论】:
-
一切看起来都不错..你能把你输入“adam”并按回车时得到的输出贴出来吗?
-
你的模型中不需要这个位吗?
public function rules() { return array( array('imie', 'safe', 'on'=>'search'), ); } -
当我按下回车键时没有任何反应。当我使用 $_POST** 而不是 **$_GET 时,它仍然无法正常工作。 var_dump($_POST['Uzytkownik']) 在视图文件中给出 NULL?
-
现在使用 $_GET 并添加了@JelledeFries 代码。谢谢。
-
不是用
$_GET代替$_POST吗? - 编辑我看到你解决了,祝你好运。
标签: yii filter widget cgridview dataprovider