简单案例
~~~
$list = [['id'=>1,'title'=>'名称1'],['id'=>2,'title'=>'名称2']];
return TBuilder('table',$this) ->setRowList($list) // 设置表格数据
->setColumns([ // 批量设置数据列
['id', 'ID'],
['title', '名称'],
['edit.edit_data|id+title,del', '操作', ['type'=>'btn']]
])
->fetch();
~~~
![](https://box.kancloud.cn/1ddd8a15c4eb911a09a858e8e485491d_954x177.png)
完整案例
~~~
$list = [];
for ($i=0;$i<10;$i++){
$list[] = [
'id' => $i,
'title' => 'title'.$i,
'pid' => $i+10,
'group' => 'group'.$i,
'url' => 'url'.$i,
'icon_class'=> 'icon_class'.$i,
'is_dev' => 1,
'hide' => 0,
];
}
$this->assign(['page'=>'']);
$this->param['pid'] = $pid;
return TBuilder('table',$this) ->setRowList($list) // 设置表格数据
->setRequestParam($this->param)
->setColumns([ // 批量设置数据列
['id', 'ID'],
['title', '名称|必须'],
['pid', '上级菜单',['func'=>'get_parent_menu_name']],
['icon_class', '图标类名'],
['group', '分组'],
//['answer_status','状态', ['func'=>'c_name','config_name'=>'answer_status'] ],
['url', 'URL',['type'=>'url', 'url'=>'menu/index', 'p'=>'id.pid']],
['is_dev', '仅开发者模式显示', ['func'=>'yes_no']],
['hide', '隐藏', ['func'=>'yes_no']],
['edit.edit_data|id+title,del', '操作', ['type'=>'btn']]
])
/*
// 设置自定义列表按钮
//------------------------------------------------------------------
// 添加相关操作按钮
->addListButton([
'type' => 'edit',
'icon_class'=> 'fa fa-pencil',
'popup' => true,
'attr' => ['modal-wh'=>'650|230'],
])
->addListButton([
'title' => '查看',
'href_base' => 'menu/index',
'href_param'=> 'id',
'icon_class'=> 'fa fa-list',
'target'=>'_blank' // 新标签打开链接
])
->addListButton([
'title' => '查看2',
'href_base' => 'menu/index',
'href_param'=> 'pid.id',
'icon_class'=> 'fa fa-list',
])
->addListButton([
'title' => '查看3',
'href_base' => array('menu/index',array('date'=>'2017-05-06') ),
'href_param'=> 'pid.id+type+classify_id.cid',
'icon_class'=> 'fa fa-list',
])
// 使用show_map设置btn显示条件
//------------------------------------------------------------------
->addListButton([
'title' => '禁用',
'href_base' => 'disable',
'item_class'=> 'btn-warning ajax-get',
'icon_class'=> 'fa fa-cog',
'show_map' => ['status'=>['eq',1],'is_install'=>['eq',1]]
])
->addListButton([
'title' => '启用',
'href_base' => 'enable',
'item_class'=> 'btn-success ajax-get',
'icon_class'=> 'fa fa-cog',
'show_map' => ['status'=>['eq',0],'is_install'=>['eq',1]]
])
*/
// 批量添加顶部按钮
->addTopButtons('add,disable|pid+group,del|pid')
//添加系统自带样式按钮
->addTopButton([
'type' => 'enable',
'href' => url('enable',['pid'=>$pid]),
])
//添加自定义按钮
->addTopButton([
'title' => '自定义按钮',
'icon_class' => 'fa fa-sitemap',
'item_class' => 'ajax-get confirm',
'href' => url('diyurl',['pid'=>$pid]),
])
->showIdsCheckbox() //显示列表左侧的checkbox
->addFilters([ // 添加文本输入筛选筛选
['keyword','请输入关键词','input'],
])
->fetch();
~~~
![](https://box.kancloud.cn/78223acff0f46bbe322580d4951cfbf9_1714x673.png)
配合数据构建器案例
~~~
$list = DBuilder('Member')->quickEdit()->setOrder('id asc')->getLists();
$groupList = db('api_group')->field('id,title')->select();
$groupList = getIdIndexArr($groupList);
return TBuilder('table',$this) ->setRowList($list) // 设置表格数据
->setColumns([ // 批量设置数据列
['id', 'ID'],
['username', '名称'],
//['summary_info_arr>project_info>title','名称'], //多维数组取其内部字段使用>号分割各曾提及字段
['head_pic_id', '头像', ['type'=>'img']],
//['group_id.select', '接口分组',['listdata'=>$groupList,'key_relevance'=>'id|title']],
['sex.select', '性别', ['func'=>'c_name','config_name'=>'sex'] ],
['qq.text', 'QQ'],
['score', '分值'],
['last_login_ip', '最后登录IP',['func'=>'long2ip']],
['last_login_time', '最后登录时间', ['func'=>'datetime_format'] ],
['status.select', '状态', ['func'=>'c_name','config_name'=>'status'] ],
['edit.updateUser,del', '操作', [
'type' =>'btn',
'btn_config'=>['key_field'=>'id']
]]
])
->addTopButtons('add,sort') // 批量添加顶部按钮
->addFilters([ // 添加文本输入筛选筛选
['keyword','请输入关键词'],
])
->fetch();
~~~
![](https://box.kancloud.cn/d38254790b4e6f1b03b9ffadf774d1fa_1722x353.png)
- 序言
- 环境搭建
- 下载及安装
- 构建器
- 构建器概述
- 模版构建器(TBuilder)
- Tab组件
- Topbar组件
- 按钮
- 顶部按钮配置
- 按钮配置明细
- 表格(table)
- Table案例
- 「方法」加载数据
- 「方法」设置数据列
- 「方法」列排序
- 「组件」检索过滤器
- 「组件」顶部按钮
- 「组件」列表按钮
- 「配置」列快速编辑
- 「配置」列附加内容
- 「配置」显隐列表复选框
- 「配置」自定义样式
- 表单(form)
- Form案例
- 「方法」添加组件(addWidgets)
- 「方法」数据检索过滤(filter)
- 「组件」富文本编辑器(kindeditor|editormd)
- 「组件」图片组件(images|cropper)
- 「组件」select listbox组件(listbox)
- 「组件」颜色选择器(button_color)
- 「组件」自定义内容
- 「配置」显隐字段关联(open_by)
- 「配置」form布局(layoutView)
- 「配置」隐藏描述区(hideWidgetsDesc)
- 「配置」数据验证(validate)
- 「配置」隐藏表单底部按钮(hideFormButton)
- 「配置」字段tip提示(tip)
- 自定义页面(custom)
- Custom案例
- 「组件」echart
- 「组件」Tile Widgets
- 「配置」custom布局
- 「配置」自定义html内容
- 「配置」自定义提醒页面
- 树形(tree)
- Tree案例
- 左侧菜单区配置
- 关闭左侧菜单(hideLeftMenu)
- 顶部按钮配置
- 自定义菜单配置
- 展现方式配置
- 表内增删改(Tabullet)
- 通用设置
- 依赖文件加载(插件/js/css)
- 指定布局/模版
- 内容定位栏(setTrayMenu)
- 设置内容区侧栏
- 模态框打开页面
- 组件构建器(TWidget)
- echarts
- table
- form组件
- Tabs组件
- builder构建
- titleLine
- 数据构建器(DBuilder)
- 概述(案例)
- 「方法」获取单条记录详情
- 「方法」获取分页列表数据
- 「方法」排序
- 「方法」设置查询字段
- 「方法」快速编辑
- 「方法」数据导出
- 「方法」联表查询
- 「方法」查询数据再处理
- 「配置」回调处理
- 「配置」设置过滤字段
- 「配置」指定过滤字段匹配值
- 「配置」增加编辑支持
- 「配置」查询出全部数据
- 辅助类
- Excle
- 模块开发
- 插件开发
- 扩展
- 行为扩展
- 行为日志
- 杂项
- 图片异步加载
- jquery插件zeroModal
- 提示
- form表单验证
- ajax相关
- 展开收起
- 常用函数
- 其他插件
- DEMO
- 增删改查
- 安全
- XSS 攻击
- 注入攻击
- CSRF 攻击
- 其他攻击和漏洞
- 开发
- TBuilder组件开发
- 更新日志
- 关于文档