table.bootstrapTable({ | |
sortName: 'create_time', // 默认按创建时间排序 | |
sortOrder: 'asc' // 升序(asc)或降序(desc) | |
}); |
// 在 require.js 中修改默认排序字段 | |
Table.config.dragsortfield = 'custom_sort_field'; |
columns: [[ | |
{ field: 'id', title: 'ID', sortable: true }, | |
{ field: 'name', title: '名称' } | |
]] |
// 控制器中处理排序逻辑 | |
$sort = $this->request->get('sort', 'id'); | |
$order = $this->request->get('order', 'desc'); | |
$list = Db::name('table')->order($sort, $order)->select(); |
Table.api.init({ | |
dragsort_url: 'ajax/weigh' // 拖拽排序接口 | |
}); |
public function sort() { | |
$ids = explode(',', $this->request->post('ids')); | |
$field = 'sort'; // 自定义排序字段 | |
foreach ($ids as $k => $id) { | |
Db::name('table')->where('id', $id)->update([$field => $k + 1]); | |
} | |
$this->success(); | |
} |
table.bootstrapTable({ | |
sortName: 'custom_field', | |
sortOrder: 'asc' | |
}); |
public function index() { | |
$list = Db::name('table')->order('custom_field', 'asc')->paginate(); | |
$this->view->assign('list', $list); | |
return $this->view->fetch(); | |
} |
场景 | 依据 | 配置位置 |
默认加载 | id 降序或 weigh 字段 | 前端 JS 初始化参数 |
用户点击表头 | 列配置的 sortable: true | 前端列定义 + 后端查询 |
拖拽排序 | 自定义排序字段(如 sort) | 前端事件 + 后端 Ajax |
特殊需求 | 手动指定排序字段和顺序 | 后端控制器强制排序 |
欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) | Powered by Discuz! X3.2 |