rampesna/jqx-server-side

JQX Server Side 是一个PHP库,帮助您为JQX DataTables创建服务器端。

v1.1.0 2023-10-17 12:41 UTC

This package is auto-updated.

Last update: 2024-09-17 14:38:26 UTC


README

本软件包经过精心设计,旨在优化Laravel和其他PHP项目中JqxGrid的服务器端操作。通过此集成,用户现在可以无缝管理大量数据集并提高整体性能。借助我们的专业服务器端解决方案,充分发挥JqxGrid的潜力。

Total Downloads GitHub repo size Build

要求

  • 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 ...
    ],
});

许可证

MIT License