php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结

《PHP编程:yii2-GridView在开发中常用的功能及技巧总结》要点:

本文介绍了PHP编程:yii2-GridView在开发中常用的功能及技巧总结,希望对您有用。如果有疑问,可以联系我们。

相关主题:YII框架

数据网格或者说 GridView 小部件是Yii中最强大的部件之一.它有一个属性名叫 dataProvider ,这个属性能够提供一个数据提供者的示例并且可以显示所提供的数据,即使用 yii\grid\GridView::columns 属性的一组列配置,在一个表格中渲染每一行数据.

例如,PHP编程

use yii\helpers\Html;

use yii\grid\GridView;

= GridView::widget([

'dataProvider' => $dataProvider,

'filterModel' => $searchModel,

'columns' => [

['class' => 'yii\grid\SerialColumn'],

'id',

]);?>

一、表格列

PHP编程

表格的列是通过 GridView 配置项中的 yii\grid\GridView::columns 属性配置的.PHP编程

use yii\grid\GridView;

echo GridView::widget([

'dataProvider' => $dataProvider,

//表格列值搜索功能,注意一定要配合attribute才会显示

//$searchModel = new ArticleSearch();

'filterModel' => $searchModel,

//重新定义分页样式

'layout'=> '{items}

{pager}
',

'pager'=>[

//'options'=>['class'=>'hidden']//关闭分页

'firstPageLabel'=>"First",

'prevPageLabel'=>'Prev',

'nextPageLabel'=>'Next',

'lastPageLabel'=>'Last',

]

'columns' => [

['class' => 'yii\grid\SerialColumn'],//序列号从1自增长

// 数据提供者中所含数据所定义的简单的列

// 使用的是模型的列的数据

'id',

'username',

// 更复杂的列数据

[

'class' => 'yii\grid\DataColumn', //由于是默认类型,可以省略

'value' => function ($data) {

return $data->name;

// 如果是数组数据则为 $data['name'] ,

例如,使用 SqlDataProvider 的情形.

},

],

['label'=>'标题','value' => 'title'],

['label'=>'文章内容','format' => 'html','value' => 'content'],

[

'label'=>'文章类别',

/*'attribute' => 'cid',产生一个a标签,点击可排序*/

'value' => 'cate.cname' //关联表

],

[

//动作列yii\grid\ActionColumn

//用于显示一些动作按钮,如每一行的更新、删除操作.

'class' => 'yii\grid\ActionColumn',

'header' => '操作',

'template' => '{delete} {update}',//只需要展示删除和更新

'headerOptions' => ['width' => '240'],

'buttons' => [

'delete' => function($url, $model, $key){

return Html::a(' 删除',

['del', 'id' => $key],

[

'class' => 'btn btn-default btn-xs',

'data' => ['confirm' => '你确定要删除文章吗?',]

]

);

},

],

],

],

]);

?>

1. 处理时间

PHP编程

数据列的主要配置项是 yii\grid\DataColumn::format 属性.它的值默认是使用 \yii\i18n\Formatter 应用组件.PHP编程

[

'label'=>'更新日期',

'format' => ['date', 'php:Y-m-d'],

'value' => 'updated_at'

],

//or

[

//'attribute' => 'created_at',

'label'=>'更新时间',

'value'=>function($model){

return date('Y-m-d H:i:s',$model->created_at);

},

'headerOptions' => ['width' => '170'],

],

2. 处理图片

PHP编程

[

'label'=>'封面图',

'format'=>'raw',

'value'=>function($m){

return Html::img($m->cover,

['class' => 'img-circle',

'width' => 30]

);

}

],

3. 数据列有链接

PHP编程

[

'attribute' => 'title',

'value' => function ($model, $key, $index, $column) {

return Html::a($model->title,

['article/view', 'id' => $key]);

},

'format' => 'raw',

],

4. 数据列显示枚举值(男/女)

PHP编程

[

'attribute' => 'sex',

'value'=>function ($model,$key,$index,$column){

return $model->sex==1?'男':'女';

},

//在搜索条件(过滤条件)中使用下拉框来搜索

'filter' => ['1'=>'男','0'=>'女'],

//or

'filter' => Html::activeDropDownList($searchModel,

'sex',['1'=>'男','0'=>'女'],

['prompt'=>'全部']

)

],

[

'label'=>'产品状态',

'attribute' => 'pro_name',

'value' => function ($model) {

$state = [

'0' => '未发货',

'1' => '已发货',

'9' => '退货,已处理',

];

return $state[$model->pro_name];

},

'headerOptions' => ['width' => '120']

]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持维易PHP.PHP编程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot – spring.config.name –案例研究

当必须在不同配置中使用相同的应用程序代码时,外部化Spring Boot应用程序属性会很有用。 如果spring.config.location配置远离源代码(无论如何spring.config.location被认为是最佳实践), spring.config.location环境属性可以用于指…

java遇上html,JAVA遇见HTML——JSP篇:JSP内置对象(上)

JSP九大内置对象JSP内置对象是Web容器创建的一组对象,不使用new关键就可以使用的内置对象。int[] value{60,70,80};for(int i:value){out.println(i);}%>Web程序的请求响应模式用户发送请求(request)服务器给用户响应(response)out对象:out对象是JspW…

java中接口文件创建_功能接口简介–在Java 8中重新创建的概念

java中接口文件创建世界各地的所有Java开发人员都将至少使用以下接口之一:java.lang.Runnable,java.awt.event.ActionListener,java.util.Comparator,java.util.concurrent.Callable。 声明的接口之间有一些共同的特征&#xff0c…

java手动注册filter,SpringBoot如何注册Servlet、Filter、Listener的几种方式

在Servlet 3.0之前都是使用web.xml文件进行配置,需要增加Servlet、Filter或者Listener都需要在web.xml增加相应的配置。Servlet 3.0之后可以使用注解进行配置Servlet、Filter或者Listener;springboot也提供了使用代码进行注册Servlet、Filter或者Listene…

Java命令行界面(第12部分):CLAJR

第十二篇有关在Java中处理命令行参数的文章的特色库是带有Java Reflection的命令行参数 (CLAJR)。 该“库”是单个Java源文件( CLAJR-0.9.java ), 可从SourceForge下载 。 CLAJR的主页当前显示2006年版权日期&#xff…

php xml相关函数方法,php中对xml读取的相关函数的介绍一

对象 XML解析函数 描述元素 xml_set_element_handler() 元素的开始和结束字符数据 xml_set_character_data_handler() 字符数据的开始外部实体 xml_set_external_entity_ref_handler() 外部实体出现未解析外部实体 xml_set_unparsed_entity_decl_handler() 未解析的外部实体出现…

java调用oracle的函数,从Java调用Oracle函数

我有以下功能规格:FUNCTION FUNC_GET_SOMETHING_FROM_DATABASE ( IN_parameter1 IN VARCHAR2,IN_parameter2 IN VARCHAR2,IN_parameter3 IN VARCHAR2,IN_parameter4 IN VARCHAR2,IN_parameter5 IN VARCHAR2,IN_parameter6 IN VARCHAR2)RETURN REFCURTYP;以下是我在J…

specs.4.8.gz_使用Specs2和客户端API 2.0进行富有表现力的JAX-RS集成测试

specs.4.8.gz毫无疑问, JAX-RS是一项杰出的技术。 即将发布的规范JAX-RS 2.0带来了更多的强大功能,尤其是在客户端API方面。 今天的帖子的主题是JAX-RS服务的集成测试。 有很多优秀的测试框架,例如REST,可以确保提供帮助&#xff…

了解OAuth2令牌认证

1.简介 在本教程中,我们将了解OAuth2令牌身份验证 ,以便只有经过身份验证的用户和应用程序才能获得有效的访问令牌,该令牌随后可用于访问服务器上的授权API(在OAuth术语中仅是受保护的资源)。 使用基于令牌的身份验证…

matlab 冒泡排序函数,Matlab排序算法-遍历排序、冒泡排序

Before Sort: x 2 1 3 4 6 8 5 7 9------------------------------遍历排序,循环8次,第7次得到结果:1. Sort: x 1 2 3 4 6 8 5 7 92. Sort: x 1 2 3 4 6 8 5 7 93. Sort: x 1 2 3 4 6 8 5 7 94. Sort: x 1 2 3 4 6 8 5 7 95. Sort: x 1…

matlab运行dxcv,MATLAB imresize 函数和 OpenCV resize 函数结果不同

为何 MATLAB imresize 函数和 OpenCV resize 函数结果不同?今年 4 月,我在依照 MATLAB 代码自己写一个卷积神经网络 C 实现的过程中,就发现了这个问题,不过那时问题不是太大,所以也没有给出太多关注。今天在 stackover…

Java 9:好的,坏的和私有的接口方法

Java 9 是在几周前发布的。 查看发行说明 ,其中包含许多有趣的功能。 不过,我觉得并非一切都是不如甲骨文和Java行家似乎图片吧 。 我看到了Java世界中的三个趋势,分别是好,坏和丑陋。 让我们从好的开始。 Birdman(20…

newton迭代法求近似值matlab,Newton迭代法求函数极小值点 Matlab程序

clear allclc%Newton迭代法求解极小值点%090311%%定义函数disp 函数 f(x) 为:syms x1 x2f(x1-2)^4(x1-2)^2*x2^2(x21)^2disp 初始点的值:x0[1;1]%%求函数的梯度和海色阵disp 函数f的梯度:gjacobian(f,[x1;x2])disp 函数f的Hesse矩阵:Gjacobia…

php如何写log日志,用php生成log日志

楼盘列表$(function() {//获取网址参数var url document.URL;var urlArr url.split(“/”);var urlUseArr urlArr[3].split(“?”);var urlPamArr urlUseArr[1].split(“&”);var urlReset ”;for (var i 0; i < urlPamArr.length; i) {var urlPamSigleArr urlP…

php 之 ajax,PHP之AJAX

一.AJAX Asynchronous JavaScript And XML(异步 JavaScript 及 XML)二.PHP 和 AJAX不存在什么 AJAX 服务器。AJAX 是一种在浏览器运行的技术。它使用浏览器与 web 服务器之间的异步数据传输&#xff0c;使网页从服务器请求少量的信息&#xff0c;而不是整张页面。AJAX 是一种独…

lambda表达式方法泛型_模板方法模式–使用Lambda表达式,默认方法

lambda表达式方法泛型模板方法模式是Erich Gamma&#xff0c;Richard Helm&#xff0c;Ralph Johnson和John Vlissides在著名的《 设计模式》一书中解释的23种设计模式之一。 这种模式的意图表示为&#xff1a; 在操作中定义算法的框架&#xff0c;将某些步骤推迟到子类。 Tem…

java报错找不到对象,使用Spring源码报错java:找不到类 InstrumentationSavingAgent的问题...

使用Spring源码&#xff0c;报错java:找不到类 InstrumentationSavingAgent报错如下&#xff1a;Error:(26, 38) java: 找不到符号符号: 类 InstrumentationSavingAgent位置: 程序包 org.springframework.instrument解决办法&#xff1a;在自己测试项目的build.gradle里加上 co…

PagingAndSortingRepository –如何与Thymeleaf一起使用

在本教程中&#xff0c;我将演示如何通过分页显示Thymeleaf中的企业客户列表。 1 –项目结构 我们有一个正常的Maven项目结构。 2 –项目依赖性 除了正常的Spring依赖关系之外&#xff0c;我们还添加Thymeleaf和hsqldb&#xff0c;因为我们使用的是嵌入式数据库。 <?x…

php 如何股票曲线图,如何看股票曲线图?股票曲线图讲解

如何看股票曲线图&#xff1f;股票曲线图讲解股票分时图走势图表&#xff1a;乳白色曲线图表明这种个股的分时图交易量价钱。淡黄色曲线图表明这种个股的均价。淡黄色柱线表明每分的交易量&#xff0c;企业为手(100股/手)。下边是分时图走势图表中经常会出现的专有名词及寓意&a…

matlab里方差分析的盒子图怎么看,Matlab方差分析

Matlab 方差分析(T检验)在工农业生产和科学研究中,经常遇到这样的问题:影响产品产量、质量的因素很多,我们需要了解在这众多的因素中,哪些因素对影响产品产量、质量有显著影响.为此,要先做试验,然后对测试的结果进行分析.方差分析就是分析测试结果的一种方法.在方差分析中,把在…