webmachine / jqgrid
Jqgrid for Laravel 5
dev-master
2022-04-01 20:27 UTC
Requires
- php: >=5.5.0
- illuminate/config: >=5.4
- illuminate/support: >=5.4
- webmachine/custom-fields: dev-master
This package is auto-updated.
Last update: 2024-09-29 04:49:18 UTC
README
安装
通过 Composer
$ composer require webmachine/jqgrid
接下来,您必须安装服务提供者和外观别名
// config/app.php 'providers' => [ ... Webmachine\Jqgrid\JqgridServiceProvider::class, ]; ... 'aliases' => [ ... 'Jqgrid' => Webmachine\Jqgrid\JqgridFacade::class, ];
发布
$ php artisan vendor:publish --provider="Webmachine\Jqgrid\JqgridServiceProvider"
使用方法
在您的控制器中
... use Webmachine\Jqgrid\JqgridFacade as Jqgrid; class FooController extends Controller { /** * @see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options ColModel API. */ const jqgrid_colmodel = [ [ 'label' => 'Id', 'name' => 'id', 'hidden' => true ], [ 'label' => 'Number', 'name' => 'number', 'searchoptions' => [ 'sopt' => ['bw'] ] ], [ 'label' => 'Name', 'name' => 'name', ], [ 'label' => 'Provider', 'name' => 'provider.name', // relation.fieldname 'relation' => 'FooModel.provider' // ModelName.relation (this relation must exist in your model) ] ]; ... public function index() { ... Jqgrid::add_js_colmodel('foo_table', self::jqgrid_colmodel); // add colmodel columns to render in view return view('foo.index'); ... } ... /** * Generate json response for jqgrid * @return string */ public function datagrid() { Jqgrid::init('foo_table', self::jqgrid_colmodel, self::jqgrid_format()); Jqgrid::get_query()->whereIn('user_id', auth()->user()->id); // add extra query conditions return Jqgrid::datagrid(); } ... /** * Return closure function to format jqgrid columns (optional) * @return function */ private static function jqgrid_format() { return function ($column, $value) { $result = $value; if ($column == 'name') { $result = ucfirst($value); } return $result; }; } }
在您的视图 JavaScript 中
// foo/index.blade.php ... <!-- Load Jqgrid scripts in your scripts section --> {!! Jqgrid::scripts() !!} ... $('#jqgrid').jqGrid({ url: '{{ url("foo/datagrid") }}', colModel: {!! Jqgrid::js_colmodel() !!} ... });
许可证
MIT 许可证 (MIT)。更多信息请参阅 许可证文件。