yii2 GridView 下拉搜索實現案例教程

来源:http://www.cnblogs.com/wwolf/archive/2016/04/23/5425136.html
-Advertisement-
Play Games

作者:白狼 出處:http://www.manks.top/article/yii2_gridview_dropdown_search本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 下拉搜索,我們先來看看預期的效果圖 具體怎麼 ...


作者:白狼 出處:http://www.manks.top/article/yii2_gridview_dropdown_search本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

下拉搜索,我們先來看看預期的效果圖

具體怎麼實現喃?考慮到一張數據表要下拉效果的欄位可能有很多個,我們先在其model中實現一個方法方便後續操作

/**
 *  下拉篩選
 *  @column string 欄位
 *  @value mix 欄位對應的值,不指定則返回欄位數組
 *  @return mix 返回某個值或者數組
 */
public static function dropDown ($column, $value = null)
{
    $dropDownList = [
        'is_delete'=> [
            '0'=>'顯示',
            '1'=>'刪除',
        ],
        'is_hot'=> [
            '0'=>'否',
            '1'=>'是',
        ],
        //有新的欄位要實現下拉規則,可像上面這樣進行添加
        // ......
    ];
    //根據具體值顯示對應的值
    if ($value !== null) 
        return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;
    //返回關聯數組,用戶下拉的filter實現
    else
        return array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;
}

然後我們上代碼看看具體怎麼實現的下拉搜索

<?= 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'),
        ],
        // ......
    ],
]); ?>

像這樣,我們就簡單地實現了兩個下拉效果,要實現篩選功能,在你的dataProvider自定添加該欄位的搜索條件即可


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇,記錄了Hibernate註解 類級別註解以及屬性註解詳解 ,我們這一節主要講解的是Hibernate註解 關聯映射註解以及課程總結詳解。 本節的主要內容: 第3章 關聯映射註解 3-1 本章簡介 3-2 實體之間的關係 3-3 一對一單向外鍵關聯(一) 3-4 一對一單向外鍵關聯(二) 3- ...
  • 1.首先我們來瞭解什麼是異常呢? 異常阻止當前方法或作用域繼續執行的問題。 2.處理異常 說到處理異常,我們當然會想到 try catch finally 在java中我們會對異常的處理有更高的認識 我們會學習 throw throws等更好的處理異常 3.throw關鍵字:語句拋出異常 throw ...
  • 本文章向碼農介紹Typecho博客發佈文章同步新浪微博插件,這樣做能夠增加你博客的社會化流量,同時增加用戶的粘性。感興趣的碼農可以參考一下。 Typecho博客發佈文章同步新浪微博插件,能夠增加你博客的社會化流量,同時增加用戶的粘性,點擊下載: Typechosina.zip 安裝教程如下: 激活後 ...
  • Tomcat 是一個免費的開放源代碼的 Servlet 容器,它是 Apache 軟體基金會的一個頂級項目,由 Apache,Sun和其他一些公司及個人共同開發而成。由於有了 Sun 的參與與支持,最新的 Servlet 和 JSP 規範總是能在 Tomcat 中的到體現。 官方網站:http:// ...
  • Java的包名都有小寫單片語成,類名首字母大寫;包的路徑符合所開發的 系統模塊的 定義,比如生產對生產,物資對物資,基礎類對基礎類。以便看了包名就明白是哪個模塊,從而直接到對應包里找相應的實現。 由於Java面向對象的特性,每名Java開發人員都可以編寫屬於自己的Java Package,為了保障每 ...
  • ...
  • Java this的一兩點使用 之前的文章都是關於Android的使用,這次想寫一些關於Java的知識,總結一下Java的使用。這次寫的是關於Java this的使用,介紹以下內容: 1. this的概念 2. this的各種應用 3. 總結 this 是什麼 在寫一個方法的時候,如果想在方法內部獲 ...
  • 【首先聲明:LCT≠動態樹,前者是一種數據結構,而後者是一類問題,即:LCT—解決—>動態樹】 Link-cut-tree(下文統稱LCT)是一種強大的數據結構,不僅可以像樹鏈剖分一樣對樹上的兩點進行詢問(權值和、權值的最值……),還可以維護森林的連通性。 學習LCT首推楊哲神犇的《QTREE解法的 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...