我尝试在mvcgrid中填写快速搜索的下拉菜单,我的代码是:
$g = $this->add('MVCGrid');
$g->setModel('materiale');
$g->addPaginator(25);
$s = $g->addQuickSearch(array('nome_mat'));
$value_list = array(
1=>'Granito',
2=>'Marmo'
);
$s->addField('dropdown','tipo_mat','Tipo_mat: ')->setValueList($value_list);
下拉列表显示在快速搜索表单上。 我的db字段是tipo_mat,但是当我点击quicksearch按钮时没有什么可以提升,有人可以帮助我。 感谢的
答案 0 :(得分:0)
您会发现Quicksearch只不过是一个简单的表单,它在提交时将条件应用于您的网格。从理论上讲,你可以在那里做一个标准的表格做同样的事情:
$search = $g->add('Form',null,'quick_search',array('form/quicksearch','form'));
$search->addFiled('dropdown','tipo_mat')
->setValueList($value_list)
->set($_GET['tipo_mat']);
$search->addField('search','q')
->set($_GET['q']);
// Handle submit of form, reload grid with AjAX, pass values as arguments
if($search->isSubmitted()){
$grid->js()->reload($search->getAllData())->execute();
}
// If values are passed, use them
if($_GET['q'])
$grid->dq->where('name like','%'.$_GET['q'].'%');
if($_GET['tipo_mat'])
$grid->dq->where('foo',$_GET['tipo_mat']);
“过滤器”和“快速搜索”类可以帮助您保存搜索值,但您不能害怕look into their source并创建自己的QuickSearch类,它可以正确应用参数。
在您的情况下使用Filter可能比快速搜索更好,因为“applyDQ”的处理方式如下: