2011-11-28 120 views
1

我嘗試填充的快速搜索下拉菜單中mvcgrid我的代碼是:下拉列表atk4快速搜索

$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); 

下拉列表顯示在快速搜索形式。 我的數據庫字段是tipo_mat,但是當我點擊quicksearch按鈕沒有uppens,有人可以幫助我plase。 感謝的

回答

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類可以正確應用參數。

也許在你的情況下,使用過濾器比快速搜索更好,因爲如何「applyDQ」被處理:

https://github.com/atk4/atk4/blob/master/lib/Filter.php#L62

+0

好了,現在很明顯。非常感謝 – user940945