yii2使用gridView实现下拉列表筛选数据
本文实例为大家分享了yii2 gridView下拉列表筛选数据的具体代码,供大家参考,具体内容如下
view:
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
[
'attribute' => 'category_id',
'label'=>'类型',
'value'=>
function($model){
return $model->getCategoryName(); //值
},
'filter' => $model->getCategoryList(), //筛选的数据
],
]
model:
/**
* 分类列表
* @return array
*/
public function getCategoryList(){
$result = [];
$list = Category::find()->where(["status" => Category::STATUS_NORMAL])->asArray()->all();
if(!empty($list)){
$result = ArrayHelper::map($list,"id","category_name");
}
return $result;
}
/**
* 关联分类表
* @return \yii\db\ActiveQuery
*/
public function getCategory(){
return $this->hasOne(Category::className(),["id" => "category_id"]);
}
/**
* 分类名称
* @return string
*/
public function getCategoryName(){
return empty($this->Category)?"":$this->Category->category_name;
}
效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
浅析Yii2 gridview实现批量删除教程
在朋友圈里有童鞋向我讨论GridView的问题,有朋友说你用gridview给我去掉表头的链接?我想的很久,用gridview确实不容易实现.有不同见解的朋友欢迎留言.但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛. 这个问题也是很简单的,我们来看看具体实现 $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $dataProvider->
-
浅析Yii2中GridView常见操作
本文是小编给大家收集整理些有关网络上GridView出现的大部分问题,本文做一个总结特此分享到我们平台供大家参考. 如果下面有没说到的GridView常见问题,下方留言,我会进行补充. 下拉搜索 日期格式化并实现日期可搜索 根据参数进行是否显示 链接可点击跳转 显示图片 html渲染 自定义按钮 设定宽度等样式 自定义字段 自定义行样式 增加按钮调用js操作 yii2 GridView 下拉搜索实现案例教程 yii2 GridView 日期格式化并实现日期可搜索 案例 是否显示某列案例 我们举一
-
yii gridview实现时间段筛选功能
yii gridview功能强大,但是时间筛选比较麻烦,与数据库的存储格式有关,本文的时间格式是date类型 那么问题来了,yii只提供关于时间的text搜索格式,就是只能查找精确日期比如2017-8-10.万能的客户说这样不行,我要搜索时间段!我只要一个输入框!我要自动提交! 注意要点: 1.首先要在gridview中引入相关js,实现双日期,这里选择了jquery.daterangepicker.js,简单大方(缺点:不能选择年份,需要手动点击,我这里不会大幅度跨年份,可用) 2.要在s
-
Yii中CGridView关联表搜索排序方法实例详解
本文实例讲述了Yii中CGridView关联表搜索排序方法.分享给大家供大家参考.具体实现方法如下: 在Yii CGridView 关联表搜索排序实现方法有点复杂,今天看了一老外写的了篇游戏,下面我整理一下与各位朋友分享一下,相信会对大家Yii框架的学习有所帮助. 首先,检查你的blog demo里的protectedmodelsComment.php,确保Comment模型有一个search的方法,如果没有,就用gii生成一个,我下载到的blog demo里倒是没有. 然后,写代码的时间到了,
-
Yii2 GridView实现列表页直接修改数据的方法
什么意思呢?我来简单的描述下,小编妹子提的需求是这样的,你看啊,你这列表页的数据,能不能我就直接在列表上进行点一下就直接修改啊,我再点进去修改多麻烦,太不方便了.这尼玛,这需求,是不是真想给她一棒槌. ok,我们今天就来看看在yii2中如何去利用gridview实现列表上直接修改的功能,很全面哦,我们尽量各种类型的属性都给出实例. 第一步,我们先来部署好yii2-grid 利用composer安装yii2-grid composer require kartik-v/yii2-grid "@de
-
浅析Yii2 GridView实现下拉搜索教程
废话不多说了,先给大家展示下效果图,如果大家还很满意请继续往下阅读: 具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作 /** * 下拉筛选 * @column string 字段 * @value mix 字段对应的值,不指定则返回字段数组 * @return mix 返回某个值或者数组 */ public static function dropDown ($column, $value = null) { $dropDownLis
-
Yii把CGridView文本框换成下拉框的方法
本文实例讲述了Yii把CGridView文本框换成下拉框的方法.分享给大家供大家参考.具体实现方法如下: 使用yii的朋友都知道Yii中的CGridView默认显示提文本框了,那么我们要怎么把它转换成下拉框呢?本文就此分析一下解决方法. 默认情况下CGridView会生成一个文本框,但是这并不友好,用户往往希望知道有什么可选的,特别是数据库里存的是数字id的时候,我们希望将数字转换为可读的文本,这时候只需要修改一下表头的"filter"属性就行了,比如: 复制代码 代码如下: <
-
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
先给大家展示下日期格式化效果图,如果大家满意请继续往下阅读: 这个我们分情况讨论 1.如果你的数据库字段created_at存的时间格式是date或者datetime,那很简单,gridview中直接输出该字段created_at即可,如上图中右侧所示 2.如果数据库存入的时间戳类型,如上图中左侧所示,则需要像下面这样进行输出 [ 'attribute' => 'created_at', 'value' => function ($model) { return date('Y-m-d H:i
-
yii2中结合gridview如何使用modal弹窗实例代码详解
在上篇文章给大家介绍了Yii2中如何使用modal弹窗(基本使用),即以创建为例. 实际开发中,我们往往还会遇到列表页数据修改要使用modal的情况,如果是一般的循环展示,相信大多数人看了modal的基本使用都会操作,但是结合gridview估计有些人就开始吃不消了,我们看看如何解决这个问题! 1.gridview的操作增加[更新]按钮,并指定data-toggle data-target class以及data-id的值 [ 'class' => 'yii\grid\ActionColumn'
-
yii2.0之GridView自定义按钮和链接用法
本文实例讲述了yii2.0之GridView自定义按钮和链接用法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?= GridView::widget([ 'dataProvider' => $dataProvider, //'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'
随机推荐
- C#编写的Base64加密和解密类
- Linux 中的通配符详解及实例
- jQuery实现折线图的方法
- 在 DOS 下怎样驱动光驱?
- Java数据结构及算法实例:冒泡排序 Bubble Sort
- Java经典设计模式之模板方法模式定义与用法示例
- 详解Java多线程编程中线程的启动、中断或终止操作
- 快速排序的算法思想及Python版快速排序的实现示例
- 图文详解Ubuntu下安装配置Mysql教程
- 详解Docker私有仓库Registry的搭建验证
- CSS2快速参考
- JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
- PHP学习笔记之php文件操作
- java遍历读取整个redis数据库实例
- 比较精简的Javascript拖动效果函数代码
- PHP 内存缓存加速功能memcached安装与用法
- 2005年黑客聚焦:追踪垃圾邮件(图)
- CFile与CStdioFile的文件读写使用方法详解
- android基于SwipeRefreshLayout实现类QQ的侧滑删除
- 重新restore了mysql到另一台机器上后mysql 编码问题报错
