## addSelectTable('name值', '标题', '提示', '表格列头' , '表格数据', '选择内容的url'])

标识符:`selectTable`

>[info]1.4.3或更高版本支持。

>[danger] **注意:该功能仅1.4.3版本以上,并且授权版用户才有,普通版没有该功能**。如果您是授权版用户,请登录官网后,在补丁下载页面下载相应补丁。

| 参数 | 含义 | 类型 |

| --- | --- | --- |

| name | name值 | string |

| title | 标题 | string |

| tips | 提示 | string |

| columns | 表格列头 | array |

| data | 表格数据 | array |

| url | 选择内容的url | string |

```

$columns = [

'id' => 'ID',

'username' => '用户名',

'nickname' => '昵称',

];

// 使用ZBuilder快速创建表单

return ZBuilder::make('form')

->addFormItems([ // 批量添加表单项

['selectTable', 'test', '测试', '', $columns],

])

->fetch();

```

效果:

![](https://img.kancloud.cn/64/7e/647e51230ef8f37b7f637b39f852f976_1021x174.png)

目前还没有任何数据,点击“选择测试”按钮可打开弹窗选取表格数据,但必须先设置url。

```

$columns = [

'id' => 'ID',

'username' => '用户名',

'nickname' => '昵称',

];

// 使用ZBuilder快速创建表单

return ZBuilder::make('form')

->addFormItems([ // 批量添加表单项

['selectTable', 'test', '测试', '', $columns, [], url('ajax/getUserList')],

])

->fetch();

```

为避免系统检测节点权限,这里我将代码写在ajax控制器,ajax控制没有继承admin类,所以不会检测节点权限。当然,也可以写在当前控制器,记得在节点管理添加对应的节点即可。

getUserList()方法用ZBuilder创建表格即可。

```

public function getUserList()

{

$data_list = Db::name('admin_user')->paginate();

return ZBuilder::make('table')

->addColumns([

['id', 'ID'],

['username', '用户名'],

['nickname', '昵称']

])

->setRowList($data_list)

->fetch();

}

```

这时候点击“选择测试”按钮会弹出显示用户列表。

![](https://img.kancloud.cn/49/b4/49b45614f11323ef4d6a650d3364d587_1171x229.png)

>[danger]这里有个地方要注意,1.getUserList()方法创建表格显示的列要和$columns定义的一致,包括列数和位置都要一致。

接下来,需要给表格添加一个顶部按钮,用于选取数据。

```

public function getUserList()

{

$data_list = Db::name('admin_user')->paginate();

return ZBuilder::make('table')

->addTopButton('select', [

'title' => '确定',

'icon' => 'fa fa-check',

'class' => 'btn btn-primary',

'id' => 'js-confirm',

'data-name' => 'test'

])

->addColumns([

['id', 'ID'],

['username', '用户名'],

['nickname', '昵称']

])

->setRowList($data_list)

->fetch();

}

```

添加的顶部按钮,需要添加id为“`js-confirm`”,并且定义data-name为创建selectTable表单项时的name值,比如上面添加的是

```

['selectTable', 'test', '测试', '', $columns, [], url('ajax/getUserList')],

```

所以按钮需要添加`data-name=>'test'`

到这里,还需要添加一个js文件

```

public function getUserList()

{

$data_list = Db::name('admin_user')->paginate();

return ZBuilder::make('table')

->addTopButton('select', [

'title' => '确定',

'icon' => 'fa fa-check',

'class' => 'btn btn-primary',

'id' => 'js-confirm',

'data-name' => 'test'

])

->addColumns([

['id', 'ID'],

['username', '用户名'],

['nickname', '昵称']

])

->setRowList($data_list)

->js('../extend/form/selectTable/selectTable')

->fetch();

}

```

这时候,点击“选择测试”按钮,弹窗显示列表,勾选后,点击“确定”即可。

![](https://img.kancloud.cn/81/a6/81a685abd7ee718992501380139025ca_1184x253.png)

![](https://img.kancloud.cn/c4/5b/c45bda5b4670215820ca265b5a6d16e2_1026x190.png)

>[info]因为getUserList方法用ZBuilder创建的,所以你可以使用筛选,排序等等功能。

```

public function getUserList()

{

$map = $this->getMap();

$order = $this->getOrder();

$data_list = Db::name('admin_user')->where($map)->order($order)->paginate();

return ZBuilder::make('table')

->addTopButton('select', [

'title' => '确定',

'icon' => 'fa fa-check',

'class' => 'btn btn-primary',

'id' => 'js-confirm',

'data-name' => 'test'

])

->addColumns([

['id', 'ID'],

['username', '用户名'],

['nickname', '昵称']

])

->setSearch('username,nickname')

->addOrder('username,nickname')

->setRowList($data_list)

->js('../extend/form/selectTable/selectTable')

->fetch();

}

```

![](https://img.kancloud.cn/20/b5/20b53707da14b59d11294875f84e3b98_1179x253.png)

选取后,会将对应的值回传到父窗口,提交表单,会自动将所选值发送给服务器,接收的是一个数组,具体可以自己打印`$this->request->post();`查看

>[danger]注意,选取的数据有可能重复,比如选取了两次一样的数据

![](https://img.kancloud.cn/fd/63/fd63d82dbbb23b66381e5d511d5b30a7_1037x217.png)

服务器会接收到两个id为1的数据,这里需要开发者自行过滤,比如:

```

$post = $this->request->post();

$post['test'] = array_unique($post);

```

海豚php表格,表格选取(1.4.3+) · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云...相关推荐

  1. 海豚php 授权价格,数据授权(1.3.2+) · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云...

    >[info]本章节仅适用于1.3.2版本以上 从`1.3.2`版本开始,数据授权修改为分模块设置,模块内可分组. ![](https://box.kancloud.cn/06c277f6954 ...

  2. 海豚php完全开发手册,DolphinPHP1.3.0完全开发手册-基于ThinkPHP5.0.20的快速开发框架-05221135...

    目 录 序言 环境搭建 下载及安装 目录结构 快速构建器(ZBuilder) 表单(form) 设置页面标题 设置页提示信息 设置表单提交地址 隐藏按钮 添加按钮 设置按钮标题 添加表单项 复选 单选 ...

  3. 海豚php分页问题,设置分页-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

    setPages("分页数据") 分页功能需要用到ThinkPHP自带的paginate()方法. // 读取用户数据 $data_list = Db::name("ad ...

  4. php设置数据库名,设置数据库表名-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

    setTableName("数据库表名") 版本更新内容1.0.7支持使用模型 默认情况下,批量操作或者右侧的启用.禁用,其他快捷操作会去修改"当前模块名_当前控制器名& ...

  5. 海豚php添加一行,添加表单项通用方法-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

    除了可以用不同的方法来添加表单项外,DolphinPHP还为大家提供两个通用方法. 添加单个表单项 addFormItem() 比如创建一个表单,一般情况下可能这么写 return ZBuilder: ...

  6. php设置表单项,直接设置表单项-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

    setFormItems("表单项数据") 与addFormItems方法作用相同,也是一次性添加多个表单项,不同之处在于,setFormItems方法需要写上参数名,但不要求顺序 ...

  7. 海豚php框架论坛,单选-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

    addRadio("name值", "标题", "提示", "数据项", "默认值" [, &quo ...

  8. 新点软件怎么导入清单_表格软件excel怎样导入数据 | 新点软件怎么导入excel清单表格 表格有什么要求???...

    新点软件怎么导入excel清单表格 表格有什么要求??? 没有特别的要求. 导入EXCEL实要引入POI包,这是专门操excel的 poi 提供的只是对应的excel操作方法,要完成一个任务,自己想办 ...

  9. JSON格式化 动态生成表格 表格转置 行列转换 Excel导出

    先看效果 初始化: JSON格式化 : 生成表格-方式1 : 生成表格-方式2 : Excel导出 需要行求和.列求和功能的查看 JSON格式化 动态生成表格 表格转置 行列转换 Excel导出 行求 ...

最新文章

  1. 小程序前端性能测试_如何提高前端应用程序的性能
  2. JavaScript 字符串转数字
  3. Linux系统(Centos)下安装nodejs并配置环境
  4. leetCode 110. Balanced Binary Tree 平衡二叉树
  5. c++ vector 赋值_数据分析:R篇 | 变量赋值、计算、画图、基本检验
  6. ubuntu使用问题与解决记录[持续更新]
  7. CreateProcess()无法启动应用?
  8. 浪涌保护器ant120_菲尼克斯浪涌保护器
  9. 计算机设置从光盘启动怎么办,[光盘启动]BIOS设置从光盘光驱启动教程
  10. 京东登录页面html代码_如何制作一个简单的HTML登录页面(附代码)
  11. 搭讪达人这样和女生发短信
  12. 求数组中间值的三种方法
  13. 播放器可以完成:开机自动打开指定网页,自动运行浏览器打开指定的网页。
  14. 计算机应用基础(本)第4章答案,计算机应用基础第4章习题答案(江西省三校生).doc...
  15. 网络虚拟(包括overlay、underlay介绍)
  16. 懒惰(Laziness)、急躁(Impatience)和傲慢(Hubris)
  17. 如何在MSDN上下载操作系统
  18. 小程序蓝牙获取电子秤的值【uni-app】
  19. INSTALL_FAILED_NO_MATCHING_ABIS 安装包安装失败,返回代码res=-113的解决办法 B站弹幕
  20. 京东2017校园招聘数据与算法方向笔试题

热门文章

  1. 地图图元的闪烁效果制作
  2. 批处理 java环境_java环境配置简单批处理方法一键OK
  3. java final内存机制_Java中的内存处理机制和final、static、final static总结
  4. windows下dos窗口实现持续ping显示时间保存至日志
  5. spring AOP 之一:spring AOP功能介绍
  6. MySQL与MongoDB的区别
  7. .Net 中的封装知识点
  8. c语言mergesort 参数,归并排序C语言兑现MergeSort
  9. idea_取消自动import .*
  10. Spring-Boot——Cache