yii在TbGridView的td里面加入相应的下拉选项(转)
当你需要在一个GridView渲染某一个复杂元素的时候(特别是在这种情况下,这是一个小部件),这就需要你在控制器中调用一个动作。例如你给一个GridView的定义这样的一列:
<?php
$this->widget('bootstrap.widgets.TbGridView', array(
'id' => 'folder-grid',
'dataProvider' => $model->search($folder_id),
'template' => "{items}{pager}",
'rowHtmlOptionsExpression' => 'array("file_id"=>$data->file_id, "file_name"=>rtrim($data->file_name,".".$data->file_ext), "file_ext"=>$data->file_ext)',
'columns' => array(
array(
'selectableRows' => 2,
'class' => 'CCheckBoxColumn',
'headerHtmlOptions' => array('width' => '10px'),
'htmlOptions' => array('class' => 'notopen'),
'checkBoxHtmlOptions' => array('name' => 'ids[]'),
),
array(
'name' => 'folder_id',
'headerHtmlOptions' => array('style' => 'display:none'),
'htmlOptions' => array('style' => 'display:none;'),
),
array(
'name' => 'file_name',
'header' => '文件名',
'type' => 'raw',
'headerHtmlOptions' => array('style' => 'width:100%;'),
'htmlOptions' => array('class' => 'ellipsis'),
'value' => 'CHtml::openTag("img", array("src" => TFileUtil::getFileTypeIcon($data->file_name,true),"style"=>"margin-right:4px")) . rtrim($data->file_name,".".$data->file_ext)',
),
array(
'name' => 'more_opt',
'header' => '',
'value' => array($this, 'renderButtons'),
'sortable' => false,
'htmlOptions' => array('class' => 'more notopen'),
'headerHtmlOptions' => array('style' => 'width:40px;'),
),
array(
'name' => 'file_size',
'header' => '大小',
'value' => 'TFileUtil::getFileSize($data->file_size)',
'headerHtmlOptions' => array('style' => 'width:80px;'),
),
array(
'name' => 'update_time',
'header' => '修改时间',
'value' => 'date("Y-m-d H:i:s", $data->update_time)',
'headerHtmlOptions' => array('style' => 'width:160px;'),
),
array(
'class' => 'bootstrap.widgets.TbButtonColumn',
'template' => '{update}{download}{remove}',
'buttons' => array(
'update' => array(
'label' => '',
'options' => array(
'class' => 'icon-update td-link-icon',
'data-toggle' => 'modal',
'data-target' => '#rename_file',
'title' => '修改',
),
'click' => 'js:function(){
var $row = $(this).parents("tr");
var $column = $(this).parent("td").siblings();
var id = $column.eq(0).children("input").val();
$("#rename_file #FilePrivate_id").val(id);
$("#rename_file #FilePrivate_file_name").val($row.attr("file_name"))
.next().text("." + $row.attr("file_ext"));
}',
),
'download' => array(
'label' => '',
'url' => 'Yii::app()->controller->createUrl("/file/private/download",array(
"id"=>$data->id,"fileId"=>$data->file_id,"fileName"=>FilePrivate::getFileName($data->id,$data->file_id), "createTime"=>$data->create_time))',
'options' => array(
'class' => 'download td-link-icon icon-download-2',
'title' => '下载',
),
),
'remove' => array(
'label' => '',
'options' => array(
'class' => 'icon-remove td-link-icon',
'data-toggle' => 'modal',
'data-target' => '#remove',
'title' => '删除',
),
'click' => 'js:function(){
var $column = $(this).parent("td").siblings();
var id = $column.eq(0).children("input").val();
$("#remove #FilePrivate_id").val(id);
$("#remove h4").text("删除文件");
$("#remove .note span:eq(1)").text("确定要删除所选的文件吗?");
$("#remove #removefiles").hide();
$("#remove #removefile").show();
}',
),
),
'header' => '操作',
'htmlOptions' => array('style' => 'width:80px;text-align:center;', 'class' => 'notopen'),
'headerHtmlOptions' => array('style' => 'width:80px;text-align:center;'),
),
)
));
?>
然后在控制器里面这么渲染
/**
* 显示更多操作的按钮
*/
public function renderButtons() {
$this->widget('bootstrap.widgets.TbButtonGroup', array(
'size' => 'small',
'buttons' => array(
array('label' => '', 'items' => array(
array('label' => '重命名', 'url' => 'javascript:;', 'linkOptions' => array('id' => 'renameFile')),
array('label' => '移动到', 'url' => 'javascript:;', 'linkOptions' => array('id' => 'moveFile')),
array('label' => '复制到', 'url' => 'javascript:;', 'linkOptions' => array('id' => 'copyFile'))
)),
),
));
}
http://stackoverflow.com/questions/16352998/yii-bootstrap-widget-tbbuttoncolumn-widget-tbbuttongroup
yii在TbGridView的td里面加入相应的下拉选项(转)的更多相关文章
- Yii 1开发日记 -- 后台搜索功能下拉及关联表搜索
Yii 1 实现后台搜索,效果如下: 一. 下拉搜索: 1.模型中和常规的一样 if (isset($_GET['agency']['status']) && $_GET['agenc ...
- yii框架中的下拉菜单和单选框
yii中的下拉菜单: 第一种: <?= $form->field($model, 'parent_id')->dropDownList(ArrayHelper::map($data, ...
- Yii 生成表单下拉选框及查询下拉选框
CHtml类参考: http://www.yiichina.com/api/CHtml#activeDropDownList-detail activeDropDownList() 方法 public ...
- yii NAV x下拉
$menuItems[] = [ 'label' => "<img src='/images/small.jpg'>", 'url' => ['/site/ ...
- mydetails-yii1
1.yii验证码多余的get a new code ,即使在main.php中配置了中文也是出现获取新图片,影响效果 需要把 <?php $this->widget('CCaptcha') ...
- sphinx的使用
1.下载地址 http://sphinxsearch.com/downloads/release/ 2.将其解压到D:\sphinx,并在D:\sphinx下新建目录data(用来存放索引文件)与lo ...
- 很强大的HTML+CSS+JS面试题(附带答案)
一.单项选择(165题) 1.HTML是什么意思? A)高级文本语言 B)超文本标记语言 C)扩展标记语言 D)图形化标记语言 2.浏览器针对于HTML文档起到了什么作用? A)浏览器用于创建HTML ...
- SharePoint 2013 扩展查阅项功能
SharePoint 2013的查阅项功能,就是可以扩展其他列表字段为当前列表选项,但是选项太多的时候,会造成选择起来非常麻烦,所以,我们采取JS+Ajax的方式,改善一下这个展示,使操作更加方便. ...
- html5基础知识点
1.WEB基础知识 1.WEB 与 Internet 1.Internet 互联网 若干台计算机 通过 网线 所连接而成的物理设备 主要服务: 1.Telnet 2.Email 3.WWW(Word ...
随机推荐
- 如何使weblogic11g类似weblogic923一样统一使用一个boot.properties文件
如何使weblogic11g类似weblogic923一样 统一使用一个boot.properties文件 1.在weblogic域下创建文件boot.properties输入用户密码例如:usern ...
- python学习笔记(Tkinter编程利用Treeview实现表格自动更新)
博主今天总结这段时间抽空写的一个GUI编程项目 功能是查看本地打印机队列,可选择指定队列重新打印 直接上图 UI设计包括3个区域左上方,右上方和下方列表区域 使用网格grid方法来分配位置 下面是界面 ...
- canvas-star6.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- linux 系统启动流程
原著资料网址:http://wenku.baidu.com/view/414127fdf705cc1755270997.html (版权归原作者所有) Linux系统的启动分5个阶段,每个阶段都完成不 ...
- <关于数据仓库>基于docker的Mysql与Hadoop/Hive之间的数据转移 (使用Apache Sqoop™)
原创博客,转载请联系博主! 摘要:本文介绍了如何使用docker快速搭建一个可以从外部访问的mysql服务容器,和由docker搭建的分布式Hadoop文件系统,并且使用ApacheSqoop完成将m ...
- c语言描述简单的线性表,获取元素,删除元素,
//定义线性表 #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; //这是数组的长度, ...
- SVN中取消冲突conflict
在SVN update代码出现冲突的时候,可以先右键点击SVN commit,在打开的窗口中单击红框内区域: 然后,再一次点击edit->mark as resolved,然后删除代码中> ...
- linux 关闭系统提示声音
关闭Linux 提示声音: rmmod pcspkr //永久关闭 在/etc/modprobe.d/blacklist文件最后加上 blacklist pcspkr
- 洛谷P1215 [USACO1.4]母亲的牛奶 Mother's Milk
P1215 [USACO1.4]母亲的牛奶 Mother's Milk 217通过 348提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 ...
- IoGetDeviceObjectPointer .
从名字获得设备对象 驱动的起始地址,大小等信息.