日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

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

發(fā)布時間:2023/12/10 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海豚php表格,表格选取(1.4.3+) · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

## addSelectTable('name值', '標(biāo)題', '提示', '表格列頭' , '表格數(shù)據(jù)', '選擇內(nèi)容的url'])

標(biāo)識符:`selectTable`

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

>[danger] **注意:該功能僅1.4.3版本以上,并且授權(quán)版用戶才有,普通版沒有該功能**。如果您是授權(quán)版用戶,請登錄官網(wǎng)后,在補(bǔ)丁下載頁面下載相應(yīng)補(bǔ)丁。

| 參數(shù) | 含義 | 類型 |

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

| name | name值 | string |

| title | 標(biāo)題 | string |

| tips | 提示 | string |

| columns | 表格列頭 | array |

| data | 表格數(shù)據(jù) | array |

| url | 選擇內(nèi)容的url | string |

```

$columns = [

'id' => 'ID',

'username' => '用戶名',

'nickname' => '昵稱',

];

// 使用ZBuilder快速創(chuàng)建表單

return ZBuilder::make('form')

->addFormItems([ // 批量添加表單項(xiàng)

['selectTable', 'test', '測試', '', $columns],

])

->fetch();

```

效果:

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

目前還沒有任何數(shù)據(jù),點(diǎn)擊“選擇測試”按鈕可打開彈窗選取表格數(shù)據(jù),但必須先設(shè)置url。

```

$columns = [

'id' => 'ID',

'username' => '用戶名',

'nickname' => '昵稱',

];

// 使用ZBuilder快速創(chuàng)建表單

return ZBuilder::make('form')

->addFormItems([ // 批量添加表單項(xiàng)

['selectTable', 'test', '測試', '', $columns, [], url('ajax/getUserList')],

])

->fetch();

```

為避免系統(tǒng)檢測節(jié)點(diǎn)權(quán)限,這里我將代碼寫在ajax控制器,ajax控制沒有繼承admin類,所以不會檢測節(jié)點(diǎn)權(quán)限。當(dāng)然,也可以寫在當(dāng)前控制器,記得在節(jié)點(diǎn)管理添加對應(yīng)的節(jié)點(diǎn)即可。

getUserList()方法用ZBuilder創(chuàng)建表格即可。

```

public function getUserList()

{

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

return ZBuilder::make('table')

->addColumns([

['id', 'ID'],

['username', '用戶名'],

['nickname', '昵稱']

])

->setRowList($data_list)

->fetch();

}

```

這時候點(diǎn)擊“選擇測試”按鈕會彈出顯示用戶列表。

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

>[danger]這里有個地方要注意,1.getUserList()方法創(chuàng)建表格顯示的列要和$columns定義的一致,包括列數(shù)和位置都要一致。

接下來,需要給表格添加一個頂部按鈕,用于選取數(shù)據(jù)。

```

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為創(chuàng)建selectTable表單項(xiàng)時的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();

}

```

這時候,點(diǎn)擊“選擇測試”按鈕,彈窗顯示列表,勾選后,點(diǎn)擊“確定”即可。

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

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

>[info]因?yàn)間etUserList方法用ZBuilder創(chuàng)建的,所以你可以使用篩選,排序等等功能。

```

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)

選取后,會將對應(yīng)的值回傳到父窗口,提交表單,會自動將所選值發(fā)送給服務(wù)器,接收的是一個數(shù)組,具體可以自己打印`$this->request->post();`查看

>[danger]注意,選取的數(shù)據(jù)有可能重復(fù),比如選取了兩次一樣的數(shù)據(jù)

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

服務(wù)器會接收到兩個id為1的數(shù)據(jù),這里需要開發(fā)者自行過濾,比如:

```

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

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

```

總結(jié)

以上是生活随笔為你收集整理的海豚php表格,表格选取(1.4.3+) · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。