淺析Yii2 GridView實(shí)現(xiàn)下拉搜索教程
廢話不多說(shuō)了,先給大家展示下效果圖,如果大家還很滿意請(qǐng)繼續(xù)往下閱讀:
具體怎么實(shí)現(xiàn)喃?考慮到一張數(shù)據(jù)表要下拉效果的字段可能有很多個(gè),我們先在其model中實(shí)現(xiàn)一個(gè)方法方便后續(xù)操作
/** * 下拉篩選 * @column string 字段 * @value mix 字段對(duì)應(yīng)的值,不指定則返回字段數(shù)組 * @return mix 返回某個(gè)值或者數(shù)組 */ public static function dropDown ($column, $value = null) { $dropDownList = [ 'is_delete'=> [ '0'=>'顯示', '1'=>'刪除', ], 'is_hot'=> [ '0'=>'否', '1'=>'是', ], //有新的字段要實(shí)現(xiàn)下拉規(guī)則,可像上面這樣進(jìn)行添加 // ...... ]; //根據(jù)具體值顯示對(duì)應(yīng)的值 if ($value !== null) return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false; //返回關(guān)聯(lián)數(shù)組,用戶下拉的filter實(shí)現(xiàn) else return array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false; }
然后我們上代碼看看具體怎么實(shí)現(xiàn)的下拉搜索
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ // ...... [ 'attribute' => 'is_hot', 'value' => function ($model) { return Article::dropDown('is_hot', $model->is_hot); }, 'filter' => Article::dropDown('is_hot'), ], [ 'attribute' => 'is_delete', 'value' => function ($model) { return Article::dropDown('is_delete', $model->is_delete); }, 'filter' => Article::dropDown('is_delete'), ], // ...... ], ]); ?>
像這樣,我們就簡(jiǎn)單地實(shí)現(xiàn)了兩個(gè)下拉效果,要實(shí)現(xiàn)篩選功能,在你的dataProvider自定添加該字段的搜索條件即可。
腳本之家推薦閱讀:
淺析Yii2 GridView 日期格式化并實(shí)現(xiàn)日期可搜索教程
淺析Yii2 GridView實(shí)現(xiàn)下拉搜索教程
關(guān)于Yii2 GridView實(shí)現(xiàn)下拉搜索教程就給大家介紹這么多,希望對(duì)大家有所幫助!
- Yii中CArrayDataProvider和CActiveDataProvider區(qū)別實(shí)例分析
- 淺析Yii2中GridView常見(jiàn)操作
- yii2.0之GridView自定義按鈕和鏈接用法
- Yii2 GridView實(shí)現(xiàn)列表頁(yè)直接修改數(shù)據(jù)的方法
- 淺析Yii2 gridview實(shí)現(xiàn)批量刪除教程
- 淺析Yii2 GridView 日期格式化并實(shí)現(xiàn)日期可搜索教程
- yii2使用GridView實(shí)現(xiàn)數(shù)據(jù)全選及批量刪除按鈕示例
- yii2中結(jié)合gridview如何使用modal彈窗實(shí)例代碼詳解
- yii2使用gridView實(shí)現(xiàn)下拉列表篩選數(shù)據(jù)
- Yii2.0小部件GridView(兩表聯(lián)查/搜索/分頁(yè))功能的實(shí)現(xiàn)代碼
- yii2-GridView在開(kāi)發(fā)中常用的功能及技巧總結(jié)
- YII2框架中ActiveDataProvider與GridView的配合使用操作示例
相關(guān)文章
thinkPHP多表查詢及分頁(yè)功能實(shí)現(xiàn)方法示例
這篇文章主要介紹了thinkPHP多表查詢及分頁(yè)功能實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了thinkPHP多表查詢以及查詢結(jié)果的分頁(yè)顯示相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-07-07Laravel?Eloquent的九個(gè)實(shí)用特性詳解
這篇文章主要為大家介紹了LaravelEloquent的九個(gè)實(shí)用特性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06簡(jiǎn)單的php+mysql聊天室實(shí)現(xiàn)方法(附源碼)
這篇文章主要介紹了簡(jiǎn)單的php+mysql聊天室實(shí)現(xiàn)方法,詳細(xì)介紹了數(shù)據(jù)庫(kù),框架頁(yè)面,登錄及信息的發(fā)布、展示功能實(shí)現(xiàn)技巧,并附帶了完整源碼供讀者下載參考,需要的朋友可以參考下2016-01-01YiiFramework入門(mén)知識(shí)點(diǎn)總結(jié)(圖文教程)
這篇文章主要介紹了YiiFramework入門(mén)知識(shí)點(diǎn),結(jié)合圖文形式總結(jié)分析了YiiFramework創(chuàng)建的具體步驟及使用的相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-12-12PHP讀書(shū)筆記整理_結(jié)構(gòu)語(yǔ)句詳解
下面小編就為大家?guī)?lái)一篇PHP讀書(shū)筆記整理_結(jié)構(gòu)語(yǔ)句詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07