Yii可以使用CButtonColumn自定义按钮及列样式。

效果展示

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'knowledge-auth-list-grid',
'dataProvider'=>$model->search(),
//'filter'=>$model,
'columns'=>array(
array(
'name' => 'id',
'type' => 'raw',
'value' => 'CHtml::link($data->id, array("knowledgeAuthList/view", "id"=>$data->id))'
),
'auth_name',
'operator', array(
'name' =>'create_time',
'headerHtmlOptions'=>array(
'width'=>'',
),
),
array(
'header'=>'操作',
'class'=>'CButtonColumn',
),
),
)); ?>

//控制操作列按钮展示代码
array(
'header'=>'操作',
'class'=>'CButtonColumn',
'headerHtmlOptions'=>array(
'width'=>'',
),
'template'=>'{view} {update} {delete}', //默认显示的三个按钮,要去掉某个按钮,删除相应项即可
),
//增加自定义
自定义一个按钮:
比如添加一个额外的功能按钮'设定',点击可跳转到指定id的设定页。
首先,在template中加入新的标签:'template'=>'{set} {view} {update} {delete}',
然后,定义buttons,加入recharge按钮的定义: array(
'header' => '操作',
'class'=>'CButtonColumn',
'headerHtmlOptions' => array('width'=>''),
'htmlOptions' => array('align'=>'center'),
'template'=>'{set} {delete}',
'buttons'=>array(
'set' => array(
'label'=>'设定',
'imageUrl'=>Yii::app()->request->baseUrl.'/images/set.png',
'url'=>'Yii::app()->createUrl("auth/set", array("id"=>$data->id))',
),
),
),
//单个按钮的属性:

'buttonID' => array
(
'label'=>'...', //显示为图片的title,鼠标放上去以后显示的文字
'url'=>'...', //超链接的地址
'imageUrl'=>'...', //按钮的图片src
'options'=>array(), //按钮的html属性,譬如width,height,style,class等等
'click'=>'...', //点击的JS动作,需放在function(){}中
'visible'=>'...', //显示该按钮的条件,如 'visible'=>'$data->score > 0',
)
//修改删除按钮的提示:

array
(
'class'=>'CButtonColumn',
'deleteConfirmation'=>"js:'Record with ID '+$(this).parent().parent().children(':first-child').text()+' will be deleted! Continue?'",
),

Yii1自定义 CGridView 中的操作按钮中 CButtonColumn 选项的更多相关文章

  1. PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念

    PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念 据我个人所知,windows下的cmd shell除了能够通过修改系统参数来对其中的环境变量 ...

  2. 在.Net MVC中自定义ValidationAttribute标签对Model中的属性做验证

    写一个继承与ValidationAttribute类的自定义的验证方法 MVC中传递数据时,大多数都会用Model承载数据,并且在传到控制器后,对Model进行一系列的验证. 我平时经常使用的判断方法 ...

  3. jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一 ...

  4. ztree树形图自定义图标在jeecg框架中不显示

    有时候工作遇到问题,就会硬着头皮去解决,今天给大家说一个ztree树形图自定义图标在jeecg框架中不显示的解决方法 对于这个问题,官方观法说法是在节点元素中加入icon的字段,然后后跟图标的url, ...

  5. 【spring boot】在自定义拦截器中从request中获取json字符串

    又这样的需求,需要在自定义的拦截器中获取request中的数据,想获取到的是JSON字符串 那需要在拦截器中写这样一个方法 public static String getOpenApiRequest ...

  6. 查询SQLServer2005中某个数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数

    查询SQLServer2005中某个数据库中的表结构.索引.视图.存储过程.触发器以及自定义函数 2013-03-11 09:05:06|  分类: SQL SERVER|举报|字号 订阅     ( ...

  7. android 自定义空间 组合控件中 TextView 不支持drawableLeft属性

    android 自定义空间 组合控件中 TextView 不支持drawableLeft属性.会报错Caused by: android.view.InflateException: Binary X ...

  8. 在VS2005中设置WPF中自定义按钮的事件

    原文:在VS2005中设置WPF中自定义按钮的事件 上篇讲了如何在Blend中绘制圆角矩形(http://blog.csdn.net/johnsuna/archive/2007/08/13/17407 ...

  9. Springboot中使用自定义参数注解获取 token 中用户数据

    使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类 ...

随机推荐

  1. 关于npm的坑

    http://javascript.ruanyifeng.com/nodejs/packagejson.html 一.npm常用易忘指令 npm list --depth=0:查看所有高级的npm m ...

  2. ganglia-gmond.conf配置文件

    运行下列命令可以生成gmond默认配置文件: User@host:$ gmond -t 配置文件由大括弧括起来的几个section组成.这些section可以粗略划分为两个逻辑分类.第一类中的sect ...

  3. Linux下的awk文本分析命令实例(二)

    awk实现求和.平均.最大值和最小值的计算操作 准备和数据文件 [finance@master2-dev ~]$ cat data.txt 求和 [finance@master2-dev ~]$ ca ...

  4. rmq区间最值

    时间复杂度O(NlogN)+O(Q) int a[N]; int dpmax[N][20],dpmin[N][20]; void first(int n) { mm(dpmax,0); mm(dpmi ...

  5. 牛客练习赛36B

    唔在cf上做过,A题也做过,神仙说D题也是原题 这个题就是dp了.然后数组滚动一下,很显然能住遇到  i 只与 i-1 有关,所以还是挺好滚的. dp[i][j][k]表示到第I 天一共工作了J天连续 ...

  6. java学习之路--继承(子类构造器)

    子类的构造器不能访问父类的私有域,所以必须用的父类的构造器来对这部分的私有域进行初始化,我们可以通过super实现对父类的构造器的调用,使用super调用父类构造器的语句,必须放在子类构造器的第一句. ...

  7. ThreadPool study

    线程池浅析 线程池顾名思义就是放线程的池子 Thread Pool. 那么为什么要有线程池呢?有些时候系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新的线程,则系统创建销毁线程的开销 ...

  8. ThinkPHP 缓存技术详解 使用大S方法

    如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...

  9. socket并发聊天

    服务端: import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): print('服 ...

  10. 新版Ubuntu安装日文输入法

    在Ubuntu的设置中安装日文输入法 本周在调试书上代码时需要安装日文输入法,我发现在百度上并没有在最新版Ubuntu下安装日文输入法的教程,于是我写了这篇博客来与大家分享一下我的安装过程. a.如图 ...