rampesna / jqx-server-side
JQX Server Side 是一个PHP库,帮助您为JQX DataTables创建服务器端。
v1.1.0
2023-10-17 12:41 UTC
Requires
- php: >=8.0
- illuminate/database: ^8.0
- illuminate/http: ^8.0
This package is auto-updated.
Last update: 2024-09-17 14:38:26 UTC
README
本软件包经过精心设计,旨在优化Laravel和其他PHP项目中JqxGrid的服务器端操作。通过此集成,用户现在可以无缝管理大量数据集并提高整体性能。借助我们的专业服务器端解决方案,充分发挥JqxGrid的潜力。
要求
- PHP >= 8.0
- Illuminate/Database >= 8.0
- Illuminate/Htpp >= 8.0
安装
composer require rampesna/jqx-server-side
使用
控制器
use Rampesna\JqxGrid; class ExampleController extends Controller { public function index(Request $request) { $tableName = 'your_table_name'; $columns = [ 'id', 'name', 'surname', // ... ]; $jqxGrid = new JqxGrid( $tableName, $columns, $request ); return response()->json($jqxGrid->initialize()); } }
视图
var yourGridDiv = $('#your-grid-div'); var source = { datatype: "json", datafields: [ {name: 'id', type: 'integer'}, // your columns ... ], cache: false, url: 'your_controller_url', beforeSend: function(xhr) { // if you need to send authorization token xhr.setRequestHeader('Authorization', 'Bearer ' + your_token); xhr.setRequestHeader('Accept', 'application/json'); }, beforeprocessing: function (data) { source.totalrecords = data[0].TotalRows; }, root: 'Rows', filter: function () { yourGridDiv.jqxGrid('updatebounddata', 'filter'); }, sort: function () { yourGridDiv.jqxGrid('updatebounddata'); } }; var dataAdapter = new $.jqx.dataAdapter(source); yourGridDiv.jqxGrid({ // other options ... source: dataAdapter, filterable: true, showfilterrow: true, pageable: true, sortable: true, virtualmode: true, rendergridrows: function (params) { return params.data; }, columns: [ { text: '#', dataField: 'id', columntype: 'textbox', }, // your columns ... ], });